Skip to content
ety001 edited this page Jun 23, 2019 · 3 revisions

为了解决国内使用 steemit 的种种障碍,也是操碎了心。

原理

Authsteem 平台会把 authsteem 账号的 posting 权限加入到应用平台的 Steemit 账号的 posting 权限中。

当应用平台需要用户授权的时候,Authsteem 平台会把应用平台的 Steemit 账号的 posting 权限加入到用户的 Steemit 账号中去,并且 Authsteem 平台会给用户产生一个该应用平台的 token,该 token 会下发给应用平台。

当应用平台需要用户发文等 Posting 权限操作的时候,有两种方式可以签发数据,一个是通过应用平台的 Steemit 账号的 Posting 权限的私钥签发,一个是通过 token 发送相关数据给 Authsteem 平台的指定接口完成相关功能(还在开发中)。

创建应用

  1. 需要自行准备一个 Steemit 账号。该账号会用作应用平台的签名使用,以及向用户展示。
  2. 访问 https://connect.steemtools.top ,点击首页的“注册”链接
  3. 使用准备好的 Steemit 账号的用户名和Active权限私钥,进行授权
  4. 授权成功后会自动跳转到管理界面,该界面可以修改你的应用信息,这些信息会在以后的授权页面中显示。另外还有一个 secret 需要保存好,不要泄露,这个 secret 是用来对Authsteem和应用之间交互数据进行签名的。

验证用户登录

构建如下URL:

https://connect.steemtools.top/auth?app_id=[app_username]&scope=login

其中app_id为你在创建应用时使用的Steemit账号的usernamescope设置为login

如果是在测试环境,需要Authsteem调用你的测试回调地址,请加上&test=1参数

让用户授权Posting给应用

构建如下URL:

https://connect.steemtools.top/auth?app_id=[app_username]&scope=posting

其中app_id为你在创建应用时使用的Steemit账号的usernamescope设置为posting

如果是在测试环境,需要Authsteem调用你的测试回调地址,请加上&test=1参数

回调地址

Authsteem 会在完成链上操作后,发送数据到应用指定的Callback地址。

其中以下数据是必有的:

  • username => 当前用户的steem账号的username
  • token => 当前用户在Authsteem平台的token
  • sign => 当前数据的签名
  • scope => 调用方法的类型

回调地址的签名算法

sign = md5(username + token + secret)

Callback地址拿到数据后,需要拼接 usernametokensecret,其中 usernametoken 是接收到的数据,secret 在应用控制面板里可以获取到。

问题

如果有问题,请到 https://github.com/ety001/authsteem/issues 发帖。

Clone this wiki locally
You can’t perform that action at this time.