Guide
创建 Service
通过 POST /service
接口创建服务。
创建 Client
通过 POST /client
接口创建 Client ,系统会为新创建的 Client 分配 client_id 和 client_secret 。
获取授权
方式一:使用 Resource Owner Password Credentials Grant 方式获取授权
调用 post /token
接口,并提供 grant_type
, username
, password
参数。
grant_type
指定为password
client_id
和client_secret
需要以 HTTP Basic 的方式提供
假设 Client Id 为 client_id
, Client Secret 为 client_secret
, 用户名为 awesomeuser
, 密码为 password
。那么获取 Access Token 的请求如下:
curl -u client_id:client_secret https://{service_name}.authbus.com/token -d "grant_type=password" -d "username=awesomeuser" -d "password=password"
授权服务器将以下列格式返回 Access Token:
{
"access_token": "{your_access_token}",
"token_type": "Bearer"
}
方式二: 通过 AuthBus 提供的授权页完成 Implicit Grant 方式的授权
通过以下方式拼接 URL:
https://{service_name}.authbus.com/authorize?response_type=token&client_id={client_id}&redirect_uri={redirect_uri}
引导用户访问以上 URL 进行授权,授权完成后将跳转到 {redirect_uri}
指定的地址,并在 fragment component 中附带 access token 或者错误信息。
如果创建服务时填写了微信公众号相关配置,那么可以通过指定 connection
参数为 wechat
来使用微信进行登录。具体的 URL 如下:
https://{service_name}.authbus.com/authorize?response_type=token&client_id={client_id}&redirect_uri={redirect_uri}&connection=wechat
方式三: 通过 AuthBus 提供的授权页完成 Authorization Code 方式的授权
拼接 URL 时同 Implicit Grant 类似,只不过将 response_type
参数的值替换为 code
:
https://{service_name}.authbus.com/authorize?response_type=code&client_id={client_id}&redirect_uri={redirect_uri}
引导用户访问以上 URL 进行授权,授权完成后将跳转到 {redirect_uri}
指定的地址,并在 query string 中附带 authorization code 或者错误信息。
之后同 Resource Owner Password Credentials Grant 的方式通过调用 post /token
接口, 获取 access token。需要将 grant_type
指定为 authorization_code
, 并提供 code
和 redirect_uri
参数。
验证 access token 有效性
当通过上述方式获得到 access token 后,client 即可使用 access token 来向 Resource Server 发起请求。Resource Server 可以调用 post /auth
接口来验证 access token 的有效性,从而完成鉴权。