故梦博客

统一账号认证登录 typecho 插件

序言

统一用户中心是一个集中管理用户身份信息、提供统一认证服务的系统。它通过整合不同应用系统的用户信息,实现单点登录、会话保持、单点退出等功能,从而节省了开发的周期。

[album type="photos"]






[/album]

支持性

  1. 支持密码登录
  2. 支持短信验证码登录
  3. 支持邮箱验证码登录
  4. 支持通行密钥PassKey登录
  5. 支持微信扫码登录
  6. 支持n个三方快捷登录 (具体支持需自己的探索)
  7. 支持密码登录2FA双因素安全认证
  8. 支持用户中心操作安全认证

使用方法

首先需要去 https://id.gumengya.com 注册一个账号

点击左侧导航栏 应用管理 创建一个应用

其中回调地址填写为 https://域名/id/callback
例如:https://blog.gumengya.com/id/callback

下载地址

[button color="primary" icon="" url="https://gitcode.com/gumengya/Typecho_GmSSO" type=""]GitCode[/button]
[button color="danger" icon="" url="https://gitee.com/isgm/Typecho_GmSSO" type=""]Gitee[/button]

然后 下载之后把插件丢到 plugins 目录 目录名改成 GmSSO
随后登录后台开启插件并配置插件信息

填写好Client ID 与 Client Secret 这个两个数据可在添加的应用看见复制粘贴进去保存即可

最后:

<?php echo GmSSO_Plugin::login(); //获取登录链接 ?>

以上代码可以输出一段授权的链接
可在网站任意地方写一个登录的按钮 奖用户引导到授权链接即可

[scode type="yellow" size=""]系统基于Oauth2开发开放应用,可以按照所需自己开发对接其它网站等系统[/scode]

OAuth 文档

[button color="danger" icon="" url="https://open-docs.gumengya.com/" type=""]ApiFox在线测试[/button]

1.认证接口

GET https://id.gumengya.com/oauth/authorize?client_id={client_id}&redirect_uri={redirect_uri}&state={state}

参数名描述类型数据类型
client_id注册的客户端 IDquerystring
redirect_uri授权后回调的urlquerystring
state随机字符串,用于防止跨站点请求伪造攻击querystring

2.重定向

如果用户接受你的授权,会重定向回您的网站,携带code参数以及你在上一步中在参数中提供的状态state。如果状态不匹配,则说明是第三方创建了请求,需要中止该过程。

GET {redirect_uri}?code={code}&state={state}

3.获取授权access_token

POST https://account.gumengya.com/api/oauth/access_token

参数名描述类型数据类型
code授权码poststring
client_id注册的客户端 IDpoststring
client_secret注册的客户端密钥poststring

响应

{
  "access_token": "access_token",,
  "expires_in": 7776000,
  "refresh_token": "refresh_token",,
}

4使用访问令牌访问用户信息API

POST https://account.gumengya.com/api/oauth/info

参数名描述类型数据类型
access_tokenaccess_tokenpoststring

5刷新access_token

POST https://account.gumengya.com/api/oauth/refresh_token

参数名描述类型数据类型
refresh_tokenrefresh_tokenpoststring

当前页面是本站的「Google AMP」版。查看和发表评论请点击:完整版 »