TsgcHTTP_OAuth2_Server_Provider

このコンポーネントを使用すると、外部OAuth2プロバイダー(Azure AD、Google、Facebookなど)を統合できます。

はじめに

このコンポーネントを使用して、外部 OAuth2 プロバイダー(Azure AD、Google、Facebook など)をサーバーコンポーネント(HTTP サーバーなど)に統合できます。これにより、ユーザーが Azure AD の認証情報を使用してログインでき、認証が成功した場合、HTTP サーバーが保護されたリソースへのアクセスを提供できます。

 

サーバーコンポーネントには Authorization.OAuth.OAuth2Provider プロパティがあり、TsgcHTTP_OAuth2_Server_Provider のインスタンスを割り当てることができます。認証が有効で OAuh2Provider プロパティが OAuth2 プロバイダーサーバーコンポーネントにアタッチされている場合、WebSocket および HTTP リクエストの処理には Cookie/ベアラートークンが必要です。それがない場合、接続は自動的に閉じられます。


    OAuth2Provider := TsgcHTTP_OAuth2_Server_Provider.Create(nil);
    Server.Authentication.Enabled := True;
    Server.Authentication.OAuth.OAuth2Provider := OAuth2Provider;

 

OAuth2 プロバイダーの登録

サーバーが起動する前に、認証に使用する OAuth2 プロバイダーを設定する必要があります。RegisterProvider メソッドを使用して OAuth2 プロバイダーを設定します。このメソッドには以下のパラメータがあります:

 

 

例: Azure AD を設定するには、OAuth2 URL に追加されるテナント ID、ClientId、ClientSecret、Scope、および CallbackURL が必要です。

 

RegisterProvider(
'azure',
'90945b8d-f6b7-4b97-b2bd-21c3c90b5f3x',
'PN67Q~5m06c-~X_GMyMf9zMntmm5l2dt~3jVq',
'https://login.microsoftonline.com/a0ca2055-5dd1-467f-bf13-291f6fd715c6/oauth2/v2.0/authorize',
'https://login.microsoftonline.com/a0ca2055-5dd1-467f-bf13-291f6fd715c6/oauth2/v2.0/token',
'user.read',
'/login',
'https://localhost/callback'
);

 

既存のプロバイダーを削除するには、UnRegisterProvider メソッドを使用してください。

リファレンス

ガイド