我们可以在SPA中使用PKCE+授权代码授予SSO吗



我们使用带有PKCE授权代码授予的SPA。现在我们想使用SSO进行登录。但应用程序(SSO应用程序(返回授权代码,该代码无法在会话中或SSO系统的cookie中持久存在。

这是经过设计的。在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文档

相关内容

最新更新