如何在 GitHub 三方授权中正确使用 access_token?
在利用 github 进行三方登录时,将 access_token 放到请求头'authorization'字段可能导致获取用户令牌失败。github 授权文档说明,应使用指定格式设置 authorization 字段。
授权头格式
正确的 authorization 头格式应为:"bearer {access_token}",其中 {access_token} 为 github 颁发的令牌。
解决方法
修改代码中的'authorization'头设置,将 access_token 使用正确的格式(bearer {access_token})进行设置。修改后的代码如下:
private async getGithubUserInfo(accessToken) { const {ctx} = this; // 使用accessToken去获取资源 GET https://api.github.com/user const baseURL = 'https://api.github.com/user'; let res = await ctx.curl(baseURL, { method: 'GET', headers: { 'Authorization': "Bearer "+accessToken } }) console.log(res); }
通过使用正确的authorization头格式,可以解决access_token无效的问题,从而成功获取用户的令牌。