Mixin API 的 OAuth 标准化更新

Viewed 159

上线这个论坛的时候,发现 Mixin API 的 OAuth 一直都是不完全符合规范的,于是顺手把 API 搞得标准化了一些,主要有 3 个修改。

用户信息

所有用户相关的 API 返回值都增加了 email 字段,因为大部分 OAuth 标准服务都需要这个值。这个值的构造是类似 25566@mixin.id 这样子的。

请求体的 Content-Type

之前在请求 POST /oauth/token 时 Mixin API 强制需要 application/json 类型,但是标准的 OAuth 都是用的 application/x-www-form-urlencoded,所以也就同时兼容了一下,两种格式都支持了。

Access Token 返回值

之前 Mixin API 所有的返回值都放在了 {data:{}} 这样的字段下,而 OAuth 标准需要所有字段在最顶层结构下,所以现在的 POST /oauth/token 返回值就成了下面这个样子

{
  "token_type":   "Bearer",
  "access_token": "TOKEN",
  "scope":        "PROFILE:READ",
  "data":{
	"token_type":   "Bearer",
	"access_token": "TOKEN",
	"scope":        "PROFILE:READ"
  }
}

这些更新既符合了标准,也不会影响过去使用 Mixin API 进行 OAuth 登录的应用。符合标准的好处是一些标准的 OAuth SDK 就可以直接使用了。

2 Answers

是的,之前接入Next-Auth的时候就发现这些问题了

反馈一个:如果是公告,是不是可以标题显示不同的颜色,作为区分。