首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >服务可以同时成为Oauth2提供者和Oauth2客户端吗?

服务可以同时成为Oauth2提供者和Oauth2客户端吗?
EN

Security用户
提问于 2019-04-27 08:29:15
回答 1查看 66关注 0票数 0

假设一个新的应用程序X是一个Oauth2客户端,允许它的用户与其他Oauth2提供商(如谷歌)注册/登录。因此,用户U使用谷歌注册,并定期使用谷歌登录到应用程序X

但是,如果X也是Oauth2提供程序,会发生什么呢?在允许使用U登录X的应用程序中,这将是一个糟糕的体验,因为用户将被多次重定向,直到最终提供者(Google)到达为止。从理论上讲,允许使用X登录的应用程序也可能成为将来的提供者。因此,重定向的次数不严格限制在2。

那么,应用程序不能同时成为Oauth2提供程序和Oauth2客户端吗?

EN

回答 1

Security用户

发布于 2019-04-27 10:11:29

是的,这是非常常见的,也是由身份协议(如OAuth2和SAML )提供便利的场景之一。

假设您有一个应用程序,并且决定将身份管理外包给Azure AD B2C

您的应用程序将是OAuth2或OpenID连接到Azure AD B2C的客户端。

现在,您希望您的用户能够使用电子邮件/密码组合,或者使用身份提供者登录,比如Facebook或Google ( login.realmadrid.com所具有的那种体验,它使用AAD B2C)。

因此,用户来到您的应用程序并单击“登录”。您的应用程序将将请求发送到AAD B2C,后者将要求用户输入电子邮件/密码并显示Facebook和Google的按钮。如果用户现在单击其中一个按钮,那么AAD B2C将成为客户端,并使用OAuth2将用户发送给任何一个国内流离失所者。

用户在Facebook或Google中输入凭证,向AAD B2C发出令牌,它将使用该令牌,然后向您的应用程序发出令牌。

现在,当添加更多的国内流离失所者或删除现有的国内流离失所者,或者如果国内流离失所者使用不同的协议,因为您的应用程序只需要与AAD B2C交互时,您的应用程序就不需要改变了。

票数 1
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/209110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档