老师,在授权码模式的app登录中,如何让获取授权码的APP的回调地址和获取GITHUB access_token的服务的回调地址保持一样的呢?
来源:6-6 重构社交登录
他门说这就是人生
2019-09-02
我在GITHUB上设置的回调地址是http://192.168.43.57:8080/login,这也是前端APP登录页
后台服务的oauth认证地址是http://192.168.43.57:8001/auth/github
app上通过点击超链接传的clientID和redirect_uri等获取到了code和state.(超链接地址:https://github.com/login/oauth/authorize?client_id=XXXXXXXXXX&response_type=code&redirect_uri=http://192.168.43.57:8080/login&state=XXXXXXXXX),
获取到的授权码后的跳回了http://192.168.43.57:8080/login?code=XXXXXX&state=XXXXXXXXX
把code和state传到后台服务中请求GITHUB的access_token失败(请求地址:http://192.168.43.57:8001/auth/github?code=XXXXXX&state=XXXXXXXXX),在OAuthTemplate打了断点跟了一下,跟到OAuthAuthenticationService中,获取access_token时报错,翻译过来是回调地址和GITHUB上配置的不一样,但我如果现在把回调地址改成后台服务的回调地址(http://192.168.43.57:8001/auth/github),就成功获取GITHUB的access_token了。
可是实际开发中,不可能改GITHUB的回调地址,但现在我需要两个回调地址,获取授权码时需要回调地址是http://192.168.43.57:8080/login,获取access_token需要回调地址是http://192.168.43.57:8001/auth/github。
我该怎么办呢?
也就是说请求授权码的回调地址必需和请求Access_token的回调地址保持一致,不可能前端请求了授权码,后端又去请求access_token啊?
1回答
-
他门说这就是人生
提问者
2019-09-03
也就是说请求授权码的回调地址必需和请求Access_token的回调地址保持一致,不可能前端请求了授权码,后端又去请求access_token啊?
00
Spring Security技术栈开发企业级认证与授权
2662 学习 · 1561 问题
相似问题