PHP前端开发

如何在 GitHub 三方授权中正确使用 access_token?

百变鹏仔 1个月前 (12-15) #PHP
文章标签 三方

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无效的问题,从而成功获取用户的令牌。