首页 文章

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

提问于
浏览
0

Context :用户正在尝试访问浏览器中的网站'A'但是,'A'依赖于另一个Web应用程序'B'(身份验证服务器)来使用"Implicit Grant" OAuth 2.0流程对用户进行身份验证和授权 .

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

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

2 回答

  • 1

    IMPLICIT FLOW SOLUTIONS

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

    • 'Web Site A'将是您的客户端Javascript UI - 用户登录然后获取访问令牌

    • 'Web Application B' - 身份验证服务器 - 将是向您的Javascript UI发出访问令牌的第三方系统

    • API将是您的服务器端代码 - 它从客户端UI接收访问令牌,验证令牌,然后将数据返回到UI

    SERVER SIDE WEB APP SOLUTIONS

    如果您的解决方案与上述不同,那么听起来您有一个服务器端Web应用程序 - 在这种情况下,Implicit Flow不是正确的解决方案 .

    IF YOU DEFINITELY HAVE A SINGLE PAGE APP

    使用OAuth 2.0和Open Id Connect与单页应用程序有一点学习曲线 . 我会推荐优秀的OIDC Client Library,它会为你做很多工作 .

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

  • 1

    JavaScript应用程序"website A"可能会将访问令牌及其到期时间保留在某处 - 例如session storage . 因此,在加载时,应用程序可以检查访问令牌的存在及其到期时间 . 到期时间与来自身份验证提供程序的重定向URL(expires_in参数)中的令牌一起提供 .

相关问题