認証プラグインを実装する
OutSystemsでは、外部認証プロバイダを使用してITユーザー(開発者、テスター、運用チーム)を認証することができます。認証プラグインを使用または開発し、プラットフォーム上の認証プロバイダとして割り当てることにより、これを実現できます。このページでは、外部認証プラグインに実装する必要がある要件を記載しています。
SOAP Webサービス名
認証プラグインは、SOAP Webサービスを公開するモジュールです。プラグインの起動時とユーザー認証時に、OutSystemsがこのWebサービスを呼び出します。
SOAP Webサービスの名前は、「OSPlatformAuthentication」にする必要があります。
SOAP Webサービスのメソッド
「OSPlatformAuthentication」SOAP Webサービスは、以下のメソッドを公開する必要があります。
名前 | 説明 |
---|---|
Plugin_GetAllConfigurations() | プラグインが必要とするすべての設定とその現在の値を取得するために、同期呼び出しされるメソッドです。 |
Plugin_GetCapabilities() | このプラグインを認証に使用するようプラットフォームが変更された場合に、同期呼び出しされるメソッドです。プラグインの機能を返すには、このメソッドを使用する必要があります。 |
Plugin_OnActivation() | 認証にこのプラグインを使用するようOutSystemsの認証メソッドが変更された場合に、同期呼び出しされます。たとえば、テストを実行してプラグインを検証する場合に使用できます。 |
Plugin_OnDeactivation() | 認証にこのプラグインを使用することを中止するようOutSystemsの認証メソッドが変更された場合に、同期呼び出しされます。たとえば、プラットフォームからユーザーを無効化する場合に使用できます。 |
Plugin_SetConfigurations() | このメソッドは、インフラ管理コンソール(LifeTime)の設定を変更する場合に、プラグイン設定を更新するために同期実行されます。 |
Plugin_Test() | プラットフォーム上でプラグインが正しく動作しているかITユーザーがテストする場合に、同期呼び出しされます。たとえば、プラグインが有効かどうかをテストする場合に使用できます。 |
User_AuthenticateWithCredentials(テキスト、テキスト) | プラットフォームがユーザー名とパスワードを外部システムと照らし合わせて認証する場合に、同期実行されます。たとえば、Active Directory上のユーザーを検証する場合に使用できます。 |
User_AuthenticateWithUsername(テキスト) | プラットフォームがユーザー名を外部のシステムと照らし合わせて認証する場合に、同期呼び出しされます。たとえば、連携認証でユーザーを検証する場合に使用できます。 |
Plugin_GetAllConfigurations
プラグインが必要とするすべての設定とその現在の値を取得するために、同期呼び出しされるメソッドです。
入力
なし。
出力
名前 | 型 | 説明 |
---|---|---|
Configuration | PluginAPIConfigurationParameterレコードリスト型 | プラグイン設定のプロパティとその値の一覧です。 |
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
Plugin_GetCapabilities
このプラグインを認証に使用するようにプラットフォームが変更された場合に、同期呼び出しされるメソッドです。プラグインの機能を返すには、このメソッドを使用する必要があります。
入力
なし。
出力
名前 | 型 | 説明 |
---|---|---|
SupportedCapabilities | Capability レコードリスト型 | サポートされる機能の一覧です。 |
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
Plugin_OnActivation
OutSystemsの認証メソッドが、認証にこのプラグインを使用するよう変更された場合に、同期呼び出しされます。たとえば、テストを実行してプラグインを検証する場合に使用できます。
入力
なし。
出力
名前 | 型 | 説明 |
---|---|---|
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
Plugin_OnDeactivation
OutSystemsの認証メソッドが、認証にこのプラグインを使用することを中止するよう変更された場合に、同期呼び出しされます。たとえば、プラットフォームからユーザーを無効化する場合に使用できます。
入力
なし。
出力
なし。
Plugin_SetConfigurations
このメソッドは、インフラ管理コンソール(LifeTime)の設定を変更する場合に、プラグイン設定を更新するため同期実行されます。このメソッドは、プラグインのConfigurationAPI.Supported機能の値が「True」に設定されている場合のみ呼び出されます。
実装は設定が有効であるか(値がデータ型に合っているか、必須設定に値が定義されているかなど)検証して、それに従い操作のステータスを伝える必要があります。
入力
名前 | 型 | 説明 |
---|---|---|
Configuration | PluginAPIConfigurationParameterレコードリスト型 | 更新するプラグインの設定プロパティと新しい値の一覧です。 |
出力
名前 | 型 | 説明 |
---|---|---|
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
Plugin_Test
プラットフォーム上でプラグインが正しく動作しているかどうかITユーザーがテストする場合に、同期呼び出しされます。たとえば、プラグインが有効かどうかをテストする場合に使用できます。
入力
なし。
出力
名前 | 型 | 説明 |
---|---|---|
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
User_AuthenticateWithCredentials
プラットフォームがユーザー名とパスワードを外部システムと照らし合わせて認証する場合に、同期実行されます。たとえば、Active Directory上のユーザーを検証する場合に使用できます。
入力
名前 | 型 | 説明 |
---|---|---|
Username | Text型 | 認証するユーザーのユーザー名です。 |
Password | Text型 | 認証するユーザーのパスワードです。 |
出力
名前 | 型 | 説明 |
---|---|---|
UserId | ユーザー識別子型 | OutSystemsのユーザー識別子です。 |
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
User_AuthenticateWithUsername
プラットフォームがユーザー名を外部のシステムと照らし合わせて認証する場合に、同期呼び出しされるメソッドです。たとえば、連携認証でユーザーを検証する場合に使用できます。
入力
名前 | 型 | 説明 |
---|---|---|
Username | Text型 | 認証するユーザーのユーザー名です。 |
出力
名前 | 型 | 説明 |
---|---|---|
UserId | ユーザー識別子型 | OutSystemsのユーザー識別子です。 |
Status | PluginAPIStatus | このアクションの呼び出しステータスです。このアクションの成功値とレスポンス情報を含みます。 |
ストラクチャ
プラグインに求められるストラクチャは以下のとおりです。
PluginAPIStatus
名前 | 型 | 説明 |
---|---|---|
Success | Boolean型 | 操作が成功の場合は「True」、それ以外は「False」となります。 |
ResponseId | Integer型 | 応答コードです。 |
ResponseMessage | Text型 | 応答メッセージです。 |
ResponseAdditionalInfo | Text型 | 応答詳細メッセージです。 |
ResponseId、ResponseMessage、およびResponseAdditionalInfoアトリビュートはログ生成にのみ使用されため、値のカスタマイズが可能です。
機能
名前 | 型 | 説明 |
---|---|---|
Name | Text型 | 機能の名前です。 |
Value | Text型 | 機能の値です。 |
サポートされる値
以下の機能に関しては、プラグインは特定の値を公開できます(機能を指定しない場合のデフォルト値は「False」です)。
名前 | 使用可能な値 | 説明 |
---|---|---|
'UserPassword.Supported' | 「True」または「False」 | プラグインがユーザー資格情報の検証をサポートするか(つまりUser_AuthenticateWithCredentialsメソッドを実装しているか)を示します。 |
IntegratedAuthentication.Supported | 「True」または「False」 | プラグインがユーザー名による検証をサポートするか(つまりUser_AuthenticateWithUsernameメソッドを実装しているか)を示します。 |
ConfigurationAPI.Supported | 「True」または「False」 | プラグインが(Plugin_GetAllConfigurationsおよびPlugin_SetConfigurations)設定APIメソッドをサポートするかを示します。 |
Cloud.Supported | 「True」または「False」 | プラグインがOutSystems Cloudでサポートされているかを示します。 |
PluginAPIConfigurationParameter
名前 | 型 | 説明 |
---|---|---|
Name | Text型 | 設定パラメータの名前です。 |
Value | Text型 | パラメータの値です。 |