繁体   English   中英

Spring OAuth2隐式流重定向URL

[英]Spring OAuth2 implicit flow redirect url

在我的Spring Boot / OAuth2应用程序中,我试图通过自己的OAuth2服务器使用具有以下网址的隐式流来登录用户:

http://example.com/api/oauth/authorize?response_type=token&client_id=example_client_id&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Flogin

登录后,它将用户重定向到以下URL:

http://localhost:8080/login#access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyOTcsInVzZXJfbmFtZSI6ImFkbWluIiwic2NvcGUiOlsicmVh&token_type=bearer&expires_in=43199&scope=read%20write&user_id=297&jti=9d416117-0d08-4f4e-874d-3f31dbe7815f

用户使用#符号而不是重定向到url是否正确? .. 我的意思是:

http://localhost:8080/login?access_token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoyOTcsInVzZXJfbmFtZSI6ImFkbWluIiwic2NvcGUiOlsicmVh&token_type=bearer&expires_in=43199&scope=read%20write&user_id=297&jti=9d416117-0d08-4f4e-874d-3f31dbe7815f

如果否-如何设置我的Spring应用程序OAuth2服务器以将用户重定向到正确的url?

行为是正确的。 授权码流要求响应参数被嵌入在重定向URI的查询部分(RFC 6749, 4.1.2。授权响应 ),而隐式流量要求响应参数被嵌入在片段部分(RFC 6749, 4.2.2 。访问令牌响应 )。

OAuth 2.0多种响应类型编码实践定义了一个新的请求参数response_mode 该参数指定响应参数应嵌入的位置。 在规范中, none定义queryfragmentnone 此外, OAuth 2.0表单发布响应模式已将form_post添加为response_mode的值。 如果授权请求中包含response_mode=form_post ,则响应参数将作为HTML表单参数嵌入。

您可以在《 Authlete权威指南》的“ 2.响应格式 ”中找到一张表,该表描述了response_type / response_mode组合与HTTP状态/响应参数位置之间的关系。

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM