OAuth 2.0 服务器

sgcWebSockets HTTP 和 WebSocket 服务器的服务端 OAuth 2.0 保护组件。通过 JWT 验证或 RFC 7662 内省来校验访问令牌。

TsgcHTTP_OAuth2_Server

轻量级资源服务器组件 — 通过 JWT 签名检查或 RFC 7662 令牌内省验证入站 Bearer 令牌,然后将解析后的声明暴露给您的应用程序。

组件类

TsgcHTTP_OAuth2_Server

平台

Windows, macOS, Linux, iOS, Android

版本

Enterprise

放置组件,附加到服务器,接受令牌

配置 JWT 密钥(或内省 URL),附加到 TsgcWebSocketHTTPServer.OAuth2 — 传入请求在处理器触发前先完成令牌验证。

uses
  sgcWebSocket, sgcHTTP;

var
  Server: TsgcWebSocketHTTPServer;
  OAuth2: TsgcHTTP_OAuth2_Server;
begin
  OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
  OAuth2.OAuth2Options.JWT.Algorithms.HS.Secret := 'shared-secret';

  Server := TsgcWebSocketHTTPServer.Create(nil);
  Server.Port := 8443;
  Server.SSL  := True;
  Server.Authentication.OAuth2.Enabled := True;
  Server.Authentication.OAuth2.Server  := OAuth2;

  Server.Active := True;
end;
// uses: sgcWebSocket, sgcHTTP
TsgcHTTP_OAuth2_Server *OAuth2 = new TsgcHTTP_OAuth2_Server(this);
OAuth2->OAuth2Options->JWT->Algorithms->HS->Secret = "shared-secret";

TsgcWebSocketHTTPServer *Server = new TsgcWebSocketHTTPServer(this);
Server->Authentication->OAuth2->Enabled = true;
Server->Authentication->OAuth2->Server  = OAuth2;
Server->Active = true;

内部功能

使用 JWT 验证或内省验证的访问令牌保护 HTTP 和 WebSocket 端点的资源服务器组件。

JWT 验证

内置 JWT 验证器(HS / RS / ES / EdDSA),可对照静态密钥或 JWKS 端点验证 — 自包含令牌无需往返颁发者。

令牌内省

按 RFC 7662 设置 OAuth2Options.IntrospectionURL — 组件将入站令牌 POST 至颁发者并缓存带 TTL 的活跃/非活跃结果。

范围强制执行

附加 OAuth2Options.RequiredScope 将访问限制为携带所选范围的令牌。OnAuthError 报告拒绝原因。

WebSocket 感知

同时支持 HTTP 请求和 WebSocket 升级 — 在 OnConnect 触发前验证升级 Authorization 头(或查询令牌)。

OnVerify 钩子

实现 OnVerify 进行自定义声明检查(多租户 aud、动态范围映射、账户状态)。返回 Accept = False 以短路并返回 401。

提供商兄弟组件

TsgcHTTP_OAuth2_Server_Provider 将本组件扩展为完整授权服务器(颁发者):带持久化客户端/刷新令牌存储的授权、令牌和撤销端点。

规范与参考

本组件所实现标准的权威来源。

文档与演示

直达组件参考,获取可立即运行的演示项目,并下载试用版。

在线帮助 — TsgcHTTP_OAuth2_Server 本组件的完整属性、方法和事件参考。
演示项目 — Demos\20.HTTP_Protocol\02.OAuth2_Authentication 可立即运行的示例项目,随 sgcWebSockets 包一起提供 — 请从下方下载试用版。
技术文档 (PDF) 仅涵盖本组件的功能、快速入门、Delphi 和 C++ Builder 代码示例及主要参考来源。
用户手册 (PDF) 涵盖库中每个组件的综合手册。

准备好使用 OAuth 2.0 保护 API 了吗?

下载免费试用版,为您的 Delphi 服务器添加 OAuth 2.0 令牌验证。