@KomeijiSatori
2017-10-08T08:38:27.000000Z
字数 1689
阅读 1951
即 client-side 模式,是OAuth2.0认证的一种模式,又称User-Agent Flow;
适用于需要通过客户端访问的方式,例如需要通过浏览器的javascript代码,或者电脑/移动终端上的客户端访问时。
其授权验证流程示意图如下

请求地址:
https://neko.store/authorize.html
请求方法:GET
请求参数请包含如下内容:
client_id (申请App成功后,分配给应用的id。)state (client端的状态值。用于第三方应用防止CSRF攻击,成功授权后回调时会原样带回)如果用户成功授权,则会跳转到指定的回调地址,并在URL后带上code参数。如果请求参数中传入了 state,这里会带上原始的 state 值。如:https://neko.store/oauth/redirect?code=54f3fad485dc53ef&state=login
code 参数单次使用有效,过期时间600秒
接口调用有错误时,会返回 status 和 message 字段,以json的形式返回
请求地址:
https://neko.store/index.php/oauth/get_access_token
请求方法:POST
请求参数请包含如下内容:
code (授权回调返回的code)secret_key (App的秘钥)如果验证成功,服务端会返回json序列化后的Access Token以及过期时间
示例
{"access_token":"OWUzYWZkNjMwN2YyZjc1NWU1MM3ZmQ4YzFkYTc","expire_at":1509183013}<div class="md-section-divider"></div>
参数 access_token 有效期30天,过期后需重新申请
接口调用有错误时,会返回 status 和 message 字段,以json的形式返回
请求地址:
https://neko.store/index.php/oauth/get_user_data
请求方法:GET
请求参数请包含如下内容:
access_token (用户的Access Token)如果验证成功,服务端会返回json序列化后的用户数据
示例
{"status": 200,"uid": 288733962,"first_name": "神楽坂 覚々","last_name": null,"username": "KagurazakaSatori","language_code": "zh-Hans-CN","avatar": "https://cdn5.telesco.pe/file/QjcjLoEVvjuDes-R6SetgWES4af8u8spGcfJ-xtX7Bxaf8r_O_MmbW6tkWhI8zcOkACJQ7jPSZW7vag3-rMavd4fPzT9NPILopoyGQSOkXLcaWyqi3FA90URuuGMR3IQVsfs03I0MIxUcS-FWMPTzVsk6532W_Enkia7t5gbK-C9Jv5x4RH9zKxOJz4nlHSl437QjZsjqRlXLKO4X99f7oKWJumMxOXPNrgGt_PEYYnYWQMLeTQe9Nr6QJt2zg9jPwyFgc_KuRvv5QZP7OGI4BpqiUvs2DZ5D9a9BOYfdCpaas5VC5tEM8NvJzEPlqr7mJNEWVnMMvxm99LZIrdFDA","description": "(。・ω・。)ノ♡"}<div class="md-section-divider"></div>
username 为null的情况下, avatar 和 description 也会为null
接口调用有错误时,会返回 status 和 message 字段,以json的形式返回