【问题标题】:Can we use PKCE + Authorization code grant with the SSO in SPA?我们可以在 SPA 中将 PKCE + 授权码授予与 SSO 一起使用吗?
【发布时间】:2020-12-17 08:58:09
【问题描述】:

我们正在使用带有 PKCE 授权代码授予的 SPA。现在我们要使用 SSO 登录。 但是应用程序(SSO 应用程序)返回授权码,该授权码不能在会话或 SSO 系统的 cookie 中持久存在。

【问题讨论】:

    标签: oauth-2.0 google-oauth single-sign-on azure-ad-b2c pkce


    【解决方案1】:

    这是设计使然。在 PKCE 流程中,您执行两个请求以获取访问令牌。第一个请求是获取您已经完成的代码,第二个请求将使用此代码获取访问令牌。

    从下面的示例请求中获取访问令牌会有所帮助

    POST /{tenant}/oauth2/v2.0/token HTTP/1.1
    Host: https://login.microsoftonline.com
    Content-Type: application/x-www-form-urlencoded
    
    client_id=6731de76-14a6-49ae-97bc-6eba6914391e
    &scope=https%3A%2F%2Fgraph.microsoft.com%2Fmail.read
    &code=OAAABAAAAiL9Kn2Z27UubvWFPbm0gLWQJVzCTE9UkP3pSx1aXxUjq3n8b2JRLk4OxVXr...
    &redirect_uri=http%3A%2F%2Flocalhost%2Fmyapp%2F
    &grant_type=authorization_code
    &code_verifier=ThisIsntRandomButItNeedsToBe43CharactersLong 
    &client_secret=JqQX2PNo9bpM0uEihUPzyrh    
    

    详情请咨询MS Document

    【讨论】:

    • 那我们如何实现sso呢?
    猜你喜欢
    • 2018-06-30
    • 1970-01-01
    • 2021-07-09
    • 1970-01-01
    • 2021-04-12
    • 1970-01-01
    • 2017-09-14
    • 2020-08-23
    • 1970-01-01
    相关资源
    最近更新 更多