哪一层检查隐式授权OAuth 2.0流中的访问令牌?

上下文 :用户尝试访问浏览器中的网站'A',但'A'依赖于另一个Web应用程序'B'(认证服务器)使用“隐式授权”OAuth 2.0流对用户进行认证和授权。

问题:当用户第一次访问网站“A”中的网页时,网站“A”如何知道该第一次请求没有有效的访问令牌,然后将该请求重定向到网站“B”?

网站'A'的'网络服务器'是否对访问令牌进行检查?


隐式流动解决方案

Web服务器上没有任何代码执行的Web应用程序使用此解决方案 - 而Web UI是单页应用程序 - 这与您的解决方案完全相同吗?

  • '网站A'将成为您的客户端Javascript UI - 用户登录并获取访问令牌
  • 'Web Application B' - 身份验证服务器 - 将成为第三方系统,向您的Javascript UI发布访问令牌
  • API将是您的服务器端代码 - 它从客户端UI接收访问令牌,验证令牌,然后将数据返回到UI
  • 服务器侧Web应用程序解决方案

    如果你的解决方案与上述不同,那么它听起来像你有一个服务器端的Web应用程序 - 在这种情况下,隐式流不是正确的解决方案。

    如果您确实拥有单页应用程序

    使用OAuth 2.0和Open ID Connect with Single Page Apps有一点学习曲线。 我会推荐优秀的OIDC客户端库,它会为你做很多工作。

    出于兴趣,我已经围绕OAuth 2.0解决方案(包括SPA)编写了详细的博客+代码示例。 我希望你可以浏览它来提高你的理解力 - 也许从本概述开始吧。


    JavaScript应用程序“网站A”可能会在某处保留访问令牌及其到期时间 - 例如在会话存储中。 因此,在加载时,应用程序可以检查访问令牌的存在及其到期时间。 到期时间与来自auth提供商的重定向URL( expires_in参数)中的令牌一起传递。

    链接地址: http://www.djcxy.com/p/47991.html

    上一篇: Which layer checks for Access Token in an Implicit Grant OAuth 2.0 flow?

    下一篇: implicit grant type with django oauth