我想建立一个单一的登录界面(与角),这应该是一种独立的,因此它可以用来和/嵌入任何网页上。如何构建单一登录应用程序(电子邮件和通行证)?
E.g.客户可以将其嵌入到其索引页面上,并且代码/函数应该从JavaScript API传递并构建UI和连接。
我'想着像单点登录应用程序,允许用户通过他们的Facebook账号在其他网站上互动的概念。 有点像Facebook连接。
什么是达到这个最好的方法?首选技术是Angular2,Angular4
我想建立一个单一的登录界面(与角),这应该是一种独立的,因此它可以用来和/嵌入任何网页上。如何构建单一登录应用程序(电子邮件和通行证)?
E.g.客户可以将其嵌入到其索引页面上,并且代码/函数应该从JavaScript API传递并构建UI和连接。
我'想着像单点登录应用程序,允许用户通过他们的Facebook账号在其他网站上互动的概念。 有点像Facebook连接。
什么是达到这个最好的方法?首选技术是Angular2,Angular4
[不完全是一个答案,但太长评论]
我认为根本不匹配的是,你问“我该怎么办权威性”和我“有很多方法,有不同的成本/收益,你需要评估它们并为你的用例选择正确的方法。”OAuth2是一个明智的起点,但其他许多存在。“
之后,发现做的工作是(相对)简单的库。
所以......有许多的事情,我想你会需要得到确定下来,然后才能继续。
我最初的问题是:
广招,我建议做像这样一个架构:
然后,3PA可以使用该标记代表用户行动,直到标记被取消。
优点:
我所描述的基本上是一个简约的OAuth工作流程。你可以自己去实现它,但是有很多陷阱,我不相信你完全理解你所尝试的安全含义,所以我肯定会建议使用一个已知好的过程而不是尝试推出自己的。
假设OAuth符合您的使用案例....我从来没有必要从Angular做到这一点,所以不能推荐图书馆,但快速Google显示数十个...在结果顶部附近是一个简单的教程:https://devcenter.kinvey.com/angular/tutorials/how-to-implement-safe-signin-via-oauth
而且一个潜在的库:https://github.com/oauthjs/angular-oauth2(虽然一眼,似乎没有处理截获的凭据的情况非常好)
许多单一的登录机制您参考使用的OAuth2。实现你自己有点痛苦,所以我建议找一个已经存在的库 – Basic
我已经有一个带有角度的登录应用(邮件和传递),它使用JWT Auth - 向服务器发送凭证并获取令牌作为回应。问题是我怎样才能将它作为单一登录提供,以便客户可以嵌入它。 换句话说,如何将它提供给客户...作为不是我想要的并且对我来说没有意义的链接......我想到了一种在头部添加的脚本'脚本src =“myscripts.js”>'和scriptlet(javascript函数),可以嵌入调用并使用API。这是否是一个正确的场景? –
我明白,但并不那么简单。当然,您可以让第三方应用程序(3PA)通过证书(通过SSL?),然后中继身份验证令牌。现在3PA可以模拟你的用户,你不会知道它们的区别。受损的3PA =所有用户都易受攻击。你有意创造一个中间人的情况。这就是为什么OAuth和其他协议可以避免这些问题。在这种情况下,3PA建立了通信,但用户的浏览器直接与您的服务器通信以进行身份验证,然后令牌被委派给3P。这样,没有人可以窃取用户的信用。 – Basic