我正在使用一个Sping Boot 应用程序,它使用Github OAuth进行登录/注销。我的理解是,如这里所述,我可以使用下面的端点来交换Github OAuth服务器提供的“代码”,以获得一个令牌,我可以将该令牌传递给此调用以初始化一个GitHub对象,该对象将具有与OAuth应用程序范围匹配的权限:
POST https://github.com/login/oauth/access_token
个字符
但是我还没有找到任何示例代码来说明如何从OAuth响应中获取此“代码”。
有人有这样做的例子吗?或者有其他方法来实现我想要实现的目标吗?我试图做的主要事情是允许用户授权应用程序查找与登录用户的Github帐户相关联的完整电子邮件列表。
我已经在Rails中使用Rankkit做了类似的事情;在那里,omniauth
gem负责处理这个问题,并将令牌放入auth.credentials.token
,然后可以将其传递给Rankkit。我正在尝试将一个Rails应用程序移植到Spring,这是我目前的绊脚石。
有人能给我指个方向吗?
我在各种stackoverflow帖子和其他论坛上找到了几十个例子,但每个例子都给我一个空字符串或null值,所以我一定是做错了什么。
1条答案
按热度按时间wwtsj6pe1#
code参数来自授权服务器重定向uri后面的参数,如下所示
http://client1.hiboot.cn:8081/login/oauth2/code/client-app?code=5844ed70eae48356026e&state=7KgiK-25VL5ONtdfy9hf5eft1xlnRijovlovXzeB7PA%3D
这是标准的oauth2 authorization_code模式。