用于集中社交登录的 2 跳“授权码”流程 oauth2 身份验证

asinkxcoswt

介绍

我有自己的用户帐户数据库,并且正在构建一个 oauth2 授权服务器,以使用authorization code授权类型在我公司的网站上集中身份验证逻辑

假设我已经在 部署了我的授权服务器的登录页面https://auth.my.company.com,并在 部署了一个网站https://my.website1.com当用户单击login按钮时https://my.website1.com,将触发典型的 oauth2 授权代码流,如下图所示。

典型的 oauth2 授权码授权类型

解释一下图片:

  1. https://my.website1.com呈现登录按钮的用户访问权限
  2. 用户被导航到带有 url 的集中登录页面 https://auth.my.company.com?client_id=mysite1&redirect_url=https://my.website1.com/oauth/callback
  3. 用户输入用户名和密码并提交登录表单。
  4. 授权服务器验证用户凭据后,它将用户重定向回redirect_urlhttps://my.website1.com/oauth/callback?auth_code=abcd并传递参数auth_code=abcd
  5. 网站后端服务器使用输入的 auth_code 与授权服务器通信以对用户进行身份验证,授权服务器返回访问令牌。
  6. 网站响应用户登录过程成功。

问题

https://my.website1.com,我希望用户也可以使用他/她的 Facebook 帐户登录,该帐户将与我的用户帐户数据库中的帐户绑定。我也想集中这个过程(即,以便我的另一个站点https://my.website2.com可以重复使用相同的登录过程)。所以我正在考虑实现一个 2-hop oauth 流程,如下图所示。

2 跳 oauth

  1. https://my.website1.com呈现登录按钮的用户访问权限
  2. 用户被导航到我的集中式 Facebook 登录端点 https://auth.my.company.com/facebook
  3. 授权解析其 Facebook 客户端 ID 和重定向 url,然后将用户重定向到 Facebook 登录页面。
  4. 用户通过 Facebook 登录。
  5. Facebook 将用户重定向回我的授权服务器,传递授权代码。
  6. 我的授权服务器使用 Facebook 的授权代码通过 Facebook API 对用户进行身份验证
  7. 我的授权服务器将用户重定向回https://my.website1.com传递其自己生成的授权代码。
  8. 网站后端服务器使用输入的 auth_code 与授权服务器通信以对用户进行身份验证,授权服务器返回访问令牌。
  9. 网站响应用户登录过程成功。

问题

我找不到对这种 2-hop oauth 的任何参考,所以我担心我做错了。我想知道是否有标准的方法来处理像这样的集中社交登录。

asinkxcoswt

从 IBM 网站上找到了一个与所讨论的流程非常相似的参考资料。这里

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

OAUTH2流程用于跨客户端身份验证

来自分类Dev

OWIN OAuth2身份验证

来自分类Dev

使用Passport和OAuth2 +社交网络的NodeJS REST身份验证

来自分类Dev

django oauth2移动应用程序的其余身份验证流程

来自分类Dev

在Spring Boot OAuth2授权服务器中使用Active Directory身份验证

来自分类Dev

Spring OAuth2和AngularJS应用程序中的身份验证/授权

来自分类Dev

使用授权类型“client_credentials”时 OAuth2 身份验证失败

来自分类Dev

Instagram API:作用域可用于OAuth2隐式身份验证流吗?

来自分类Dev

Instagram API:作用域可用于OAuth2隐式身份验证流吗?

来自分类Dev

Angular 2中的身份验证流程

来自分类Dev

AngularJS和对Oauth2提供程序的身份验证?

来自分类Dev

在iOS上使用OAuth2进行身份验证

来自分类Dev

API身份验证和OAuth2的使用

来自分类Dev

Java中的身份验证问题Oauth2

来自分类Dev

Node JS中的FIWARE OAuth2身份验证

来自分类Dev

部落Gmail OAuth2身份验证失败

来自分类Dev

自动进行OAUTH2身份验证

来自分类Dev

Azure API管理-身份验证:OAuth2与证书

来自分类Dev

内部应用程序的OAuth2身份验证

来自分类Dev

部落Gmail OAuth2身份验证失败

来自分类Dev

OAuth2客户端身份验证春季

来自分类Dev

API身份验证和OAuth2的使用

来自分类Dev

Java中的身份验证问题Oauth2

来自分类Dev

在iOS上使用OAuth2进行身份验证

来自分类Dev

Javascript WebApp 的 Spring Security Oauth2 身份验证

来自分类Dev

oauth2 的多个身份验证提供程序

来自分类Dev

如何使用OAuth2通过登录名和密码进行身份验证?

来自分类Dev

如何拥有单独的身份验证源?(一个用于Oauth2,一个用于基于表单的登录)

来自分类Dev

Oauth2用于授权和认证?

Related 相关文章

热门标签

归档