EMLOG

cover

OAuth2服务器 功能扩展

一个功能完整的OAuth2服务器插件,为您的Emlog网站提供OAuth2.0授权服务器服务,支持其他应用使用您的Emlog网站账号进行单点登录。


售价: 40 29.99

立即购买


开发者:开朗的火山河

上次更新: 2天前

无代码加密 无额外授权 版本号:1.0 适配PHP:56,74,81

OAuth2服务器插件 for Emlog

一个功能完整的OAuth2服务器插件,为您的Emlog网站提供OAuth2.0授权服务,支持其他应用使用您的网站账号进行单点登录。

功能特性

  • 完整的OAuth2.0支持 - 符合RFC 6749标准
  • 授权码流程 - 支持标准的authorization_code授权类型
  • 刷新令牌 - 支持refresh_token延长访问权限
  • PKCE安全扩展 - 支持代码挑战,提高安全性
  • 用户信息端点 - 符合OpenID Connect标准
  • 应用Logo支持 - 授权页面可显示第三方应用Logo
  • 完整管理界面 - 方便的客户端应用管理
  • 用户授权管理 - 用户可查看和撤销已授权的应用
  • 安全防护 - State参数验证,防止CSRF攻击

OAuth2端点

启用插件后,您的网站将提供以下OAuth2端点:

  • 授权端点: https://yoursite.com/?plugin=oauth2_server&action=authorize
  • 令牌端点: https://yoursite.com/?plugin=oauth2_server&action=token
  • 用户信息端点: https://yoursite.com/?plugin=oauth2_server&action=userinfo
  • 用户授权管理: https://yoursite.com/?plugin=oauth2_server&action=user_auth

管理客户端应用

  1. 进入Emlog后台
  2. 访问插件管理页面
  3. 点击"OAuth2服务器"插件的设置
  4. 添加新的客户端应用:
    • 应用名称:显示给用户的应用名称
    • 回调地址:授权完成后的重定向URL
    • 应用描述:向用户说明应用用途
    • 应用Logo:可选,显示在授权页面的Logo URL

客户端集成示例

授权码流程

  1. 重定向到授权页面

    https://yoursite.com/?plugin=oauth2_server&action=authorize
    &response_type=code
    &client_id=YOUR_CLIENT_ID
    &redirect_uri=YOUR_CALLBACK_URL
    &scope=profile email
    &state=RANDOM_STATE
  2. 交换访问令牌

    curl -X POST https://yoursite.com/?plugin=oauth2_server&action=token \
    -H "Content-Type: application/x-www-form-urlencoded" \
    -d "grant_type=authorization_code" \
    -d "code=AUTHORIZATION_CODE" \
    -d "redirect_uri=YOUR_CALLBACK_URL" \
    -d "client_id=YOUR_CLIENT_ID" \
    -d "client_secret=YOUR_CLIENT_SECRET"
  3. 获取用户信息

    curl -H "Authorization: Bearer ACCESS_TOKEN" \
    https://yoursite.com/?plugin=oauth2_server&action=userinfo

支持的授权范围

  • profile - 用户基本信息(昵称、头像等)
  • email - 用户邮箱地址

安全特性

  • 客户端密钥验证 - 确保只有授权的应用可以获取令牌
  • State参数验证 - 防止CSRF攻击
  • 令牌过期机制 - 访问令牌和刷新令牌都有过期时间
  • PKCE支持 - 代码挑战机制,提高移动应用安全性
  • 授权码一次性使用 - 防止重放攻击

配置选项

在插件设置页面可以配置:

  • 访问令牌有效期 - 默认3600秒(1小时)
  • 刷新令牌有效期 - 默认1209600秒(14天)
  • 授权码有效期 - 默认60秒
  • 默认授权范围 - 默认为 "profile email"

技术规范

  • 符合 OAuth 2.0 (RFC 6749) 标准
  • 支持 OpenID Connect 用户信息端点
  • 支持 PKCE (RFC 7636) 安全扩展
  • 使用标准的 Bearer Token 认证
请先登录, 再发布评论