若 OAuth2 服务器被销毁(例如因重启),已颁发的有效访问令牌将默认丢失。您可以使用方法 AddToken 恢复这些访问令牌。此方法将令牌存储在 OAuth2 服务器中。
添加令牌需要以下信息:
您可以通过处理 OAuth2AfterAccessToken 事件来保存已签发的令牌。
procedure OnOAuth2AfterAccessToken(Sender: TObject; Connection: TsgcWSConnection; OAuth2: TsgcHTTPOAuth2Request;
aResponse: string);
begin
// ... store OAuth2 Token data
end;
OAuth2 := TsgcHTTP_OAuth2_Server.Create(nil);
OAuth2.Apps.AddApp('MyApp', 'http://127.0.0.1:8080', 'client-id', 'client-secret');
OAuth2.AddToken('MyApp', '12146ce12b0e4813987f2794f768905cefc39da6fbd54f6d9b38387489280608', EncodeDate(2022,1,1),
'ef3e3dfa56ec44109c3d345b1541f08e539ce21432d9433099b48a3d08d34bc0');
oServer.Authentication.Enabled := True;
oServer.Authentication.OAuth.OAuth2 := OAuth2;