我有自己的用户帐户数据库,并且正在构建oauth2授权服务器,以使用authorization code
授予类型在公司网站上集中身份验证逻辑。
假设我已经在https://auth.my.company.com
部署了授权服务器的登录页面,并在https://my.website1.com
部署了一个网站。当用户单击login
上的https://my.website1.com
按钮时,将触发典型的oauth2身份验证代码流,如下图所示。
解释图片:
https://my.website1.com
,这将显示一个登录按钮。https://auth.my.company.com?client_id=mysite1&redirect_url=https://my.website1.com/oauth/callback
导航到集中式登录页面https://my.website1.com/oauth/callback?auth_code=abcd
的redirect_url auth_code=abcd
在https://my.website1.com
,我希望用户也可以使用他/她的Facebook帐户登录,该帐户将与我的用户帐户数据库中的帐户绑定。我也想集中进行此过程(即,以便我的另一个站点https://my.website2.com
可以重复使用同一登录过程)。因此,我正在考虑实现下图所示的两跳oauth流。
https://my.website1.com
,这将显示一个登录按钮。https://auth.my.company.com/facebook
https://my.website1.com
。我找不到关于这种2跳oauth的任何引用,因此我担心自己做错了。我想知道是否有标准的方式来处理像这样的集中式社交登录。