使用OAuth授权第三方网站

  • Authorization Code (先申请Code,再申请Token,较安全)
  • Refresh Token (token过期后,避免重复登录,可以刷新Token)
  • Device Code (一般用于TV等设备端,不常用)
  • Password (需要再第三方网站暴露授权网站的密码,不安全)
  • Implicit (不需要获取code,直接获取token,不推荐)
  • Client (可以使用Client id和Client sercert 去授权网站获取客户端相关的信息,与第三方用户无关,不常用)

获取Client Id和Client Secret

我们以Github为例,我们首先需要获取Client Id和Client Secret这两样东西,直接在Github个人设置里面develop settings选项,创建一个应用;

如何请求Code

OAuth请求官网示例

  • 请求链接

    GET https://github.com/login/oauth/authorize
    
  • 请求参数

    client_id(必填):注册Github App时的client id;

    redirect_uri:请求成功后重定向的网址带有code;

    login: 登录特定账户;

    scope: 授权范围,比如scope=user;

    state: 随机字符串,防止跨站点请求伪造攻击;

    allow_signup: 默认为true,是否提供注册github选项;

请求access_token

  • 请求链接

    POST https://github.com/login/oauth/access_token
    
  • 请求参数

    client_id(必填):注册Github App时的client_id;

    client_secret(必填):注册Github App时的client_secret;

    code(必填):上一个请求返回的code;

    redirect_uri:同上;

    state:同上;

    code只能使用一次

我来评几句
登录后评论

已发表评论数()

相关站点

+订阅
热门文章