【问题标题】:Difference between Auth0(Angularjs Auth0) , Satellizer and ng-token-authAuth0(Angularjs Auth0)、Satellizer 和 ng-token-auth 之间的区别
【发布时间】:2015-10-07 06:41:36
【问题描述】:
我目前已设置并部署了 Open Id 身份验证实施。我有一个 JAVA Rest API(资源服务器)并且有一个 angularjs 应用程序工作。我面临的问题是触发从 angularjs 应用程序到 Open Id Connect 身份验证服务器的身份验证,并取回访问令牌并将其传递给 Java Rest Api 以在身份验证服务器进行自省并获取用户详细信息。
我遇到过这 3 个库,对它们之间的区别感到困惑。
1) Angularjs_Auth0
2)Satellizer
3)ng-token-auth
任何关于如何在这些工具中配置身份验证提供程序的建议将不胜感激。提前致谢
【问题讨论】:
标签:
angularjs
openid-connect
auth0
satellizer
【解决方案1】:
决定采用我自己的实现。将资源服务器作为客户端并重定向到资源服务器页面以触发 Open Id Connect 的登录过程。唯一的问题是我重定向回 angularjs 应用程序但无法取回令牌。
【解决方案2】:
我可以说 Auth0(免责声明:我在那里工作)。
您可以将 auth0-angular 库与您的 openid 连接实现一起使用,因为我们与 OpenID Connect 兼容。我从未尝试过使用不是 Auth0 的 OIDC 服务器,但它应该可以工作。
您可能希望包含实现“协议”的 auth0.js (https://github.com/auth0/auth0.js)。 auth0-angular 只是一个具有更多高级功能的包装器。
authProvider.init({
domain: 'youropenidconnectserver.com',
clientID: 'your-clientid',
loginUrl: '/login'
});
让我知道它是否工作正常。如果您需要更高带宽的对话,我们在 Slack (http://chat.auth0.com)
希望这会有所帮助,
马蒂亚斯
【讨论】:
-
您好 Matias,感谢您的及时回答。我尝试使用 Auth0 进行身份验证,但它不起作用。我的开放 id 连接身份验证服务器基于MitreId Open ID Connect Implementation,api 是 /api/clients/{id}。 auth0 实现使用 auth0-lock.js 第 1351 行来获取客户端配置,它正在查看这个 url this.$options.assetsUrl + 'client/' + this.$options.clientID + '.js' + '?t' + (+new Date()) 在上面的 open id 连接实现中不存在。