友好速搭

开发文档 > 应用开发 > 开放 API > 获取授权 > 私有应用授权
开放 API
使用说明 获取授权 全部 API 特殊 API 开放功能

私有应用授权

私有应用,是在站点后台的“应用插件”中创建,获取授权后,仅能用于操作当前站点的数据。

要开发私有应用,开发者只需获取私有应用的 App Key 和 App Secret 即可。

私有应用的 OAuth2 授权过程,参照 Client Credentials

授权流程示例如下: #Client Credentials

在友好速搭的 OAuth2 实现中,上图的组成部分实现如下:

  • Client:私有应用
  • Authorization Server:地址是https://apps.youhaosuda.com/oauth2/

开放应用授权不同,私有应用无需用户确认,获取 access token 仅需一步:

POST https://apps.youhaosuda.com/oauth2/token

请求需包含如下参数:

  • grant_type:必须,form-data 参数(application/x-www-form-urlencoded),值必须为client_credentials
  • Authorization:必须,HTTP 请求头参数,包含应用凭证信息,生成方法: 将私有应用的凭证,包括 App Key 和 App Secret,使用:连接成字符串:key:secret,使用 Base64(RFC 4648),将字符串编码。编码后的字符串,放在Basic及空格后面,组成新的字符串,作为请求头参数Authorization的值。Ruby 代码示例:
    require 'base64'
    app_key = 'a94a110d86d2452eb3e2af4cfb8a3828'
    app_secret = 'a84a110d86d2452eb3e2af4cfb8a3828'
    # 使用遵循 RFC 4648 的 Base64 编码函数
    encoded = Base64.urlsafe_encode64("#{app_key}:#{app_secret}")
    basic = "Basic #{encoded}"
    #输出为:Basic YTk0YTExMGQ4NmQyNDUyZWIzZTJhZjRjZmI4YTM4Mjg6YTg0YTExMGQ4NmQyNDUyZWIzZTJhZjRjZmI4YTM4Mjg=
    puts basic
    

若请求合法,服务器将返回应用操作 API 的 access token:

{
  "token": "f85632530bf277ec9ac6f649fc327f17"
}

这个 access token 不会过期,应用需要持久存储这个值,并确保不会泄露。

如果要更新 access token,可以删除应用,重新创建,用新的 App Key 和 App Secret,获取新的 access token。

使用 access token 访问API:https://api.youhaosuda.com/v1/...,在请求 API 的头部加入X-API-ACCESS-TOKEN参数,值为 access token。

私有应用的 access token 默认拥有 API 所有权限

当从站点后台,点击私有应用的链接,跳转进入私有应用时,友好速搭会在跳转请求参数中,加入hmactime_stamp参数,其中hmac的计算方法,参照跳转请求安全验证

私有应用可通过验证hmac来确认请求是否来自友好速搭,并配合time_stamp的时间间隔判断,实现跳转请求自动登录。

获取授权时发生错误,参见 OAuth2 错误码。 使用 API 发生错误时,请参见 API 错误码

友好速搭,让商业更简单
0元开始
联系客服