OAuth和SSO功能

4

我一直在研究OAuth,发现它大致执行以下操作:

- client sends request token during redirect to server
- Server displays authorization screen to resource owner
- Resource owner provides uid and pw (not passed to client)
- Server sends access token back to client
- clients then users the Access token to gain access to a 
  resource

根据我的阅读,似乎OAuth并不支持SSO或联合身份验证,但有些博客暗示它可以实现SSO。

这是正确的还是错误的?它能否在没有其他协议的帮助下执行SSO?

谢谢。

1个回答

6

是的,它支持使用此流程的单点登录。

我们有两个应用程序A和B。

  • 用户想要访问应用程序A
  • 他被重定向到身份提供者(idp)
  • 他用自己的凭据进行登录。
  • idp发出一个OAUTH令牌和一个cookie
  • 客户端现在将oauth令牌添加到对应用程序A的请求中,并得到授权。
  • 当客户端想要访问应用程序B时,他再次被重定向到idp
  • 在与应用程序A的流程中返回的cookie被添加到与idp的此调用中。
  • 因此,idp立即返回了一个针对应用程序B的令牌,客户端无需重新登录。
  • 客户端现在可以使用新创建的令牌访问应用程序B。

希望这个示例流程能更加清楚。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接