Oauth认证作为当前主流的开发公共API认证方式,越来越受到一些开发者的使用。
它主要是为了保证账号的安全性。下面以新浪微博API为例:
OAuth2的authorize接口
URL https://api.weibo.com/oauth2/authorize
HTTP请求方式 GET/POST
请求参数
必选 | 类型及范围 | 说明 | |
---|---|---|---|
client_id | true | string | 申请应用时分配的AppKey。 |
redirect_uri | true | string | 授权回调地址,站外应用需与设置的回调地址一致,站内应用需填写canvas page的地址。 |
response_type | false | string | 返回类型,支持code、token,默认值为code。 |
state | false | string | 用于保持请求和回调的状态,在回调时,会在Query Parameter中回传该参数。 |
display | false | string | 授权页面的终端类型,取值见下面的说明。 |
language | false | string | 授权页语言,缺省为中文简体版,en为英文版。英文版测试中,开发者任何意见可反馈至 @微博API |
所以在客户端程序中可以直接利用webview载入认证的URL,进行一个网页认证。
如果认证授权通过,就会返回相应的参数。
例如:
//请求 https://api.weibo.com/oauth2/authorize?client_id=123050457758183&redirect_uri=http://www.example.com/response&response_type=token //同意授权后会重定向 http://www.example.com/response#access_token=ACCESS_TOKEN&expires_in=250327040
开发者通过提取出access_token和uid,来调取其他的接口。