公開しているREST APIにベーシック認証を追加する
この記事は作成中です。この新しいバージョンはどの程度参考になりましたか。投票でお聞かせください。
ベーシック認証
ベーシック認証は、HTTPプロトコルに組み込まれた簡易的な認証方式です。クライアントは、「Basic」という単語、スペース文字、Base64でエンコードされた「ユーザー名:パスワード」という文字列を含む「Authorization」ヘッダーをHTTPリクエストに付けて送信します。
たとえば、パスワード「p@55w0rd」を使用してユーザー「demo」を承認する場合、クライアントは以下を送信します。
Authorization: Basic ZGVtbzpwQDU1dzByZA==
この例のZGVtbzpwQDU1dzByZA==
という文字列は、Base64で文字列demo:p@55w0rd
をエンコードした結果です。
注記: Base64は簡単にデコードできるため、ベーシック認証は必ずHTTPS/SSLなどの他のセキュリティメカニズムと組み合わせて使用してください。
HTTP認証の詳細については、HTTP認証に関するMDN Web Docsの例などをご覧ください。
OutSystems REST APIのベーシック認証
OutSystemsでは、公開しているREST APIに対するリクエストにベーシック認証を追加できます。
これには、以下の手順を実行します。
-
[Logic]タブで、Integrationsフォルダを開きます。
-
変更する公開済みREST APIを選択し、そのAuthenticationプロパティを[
Basic
]に設定します。
その結果、OutSystemsはREST APIにOnAuthenticationアクションを作成し、以下を使用してベーシック認証を処理します。
- リクエストで渡された資格情報を保持するUsernameとPasswordの入力パラメータ(これらは、「Authorization」HTTPヘッダーから自動的にデコードされます)
- 資格情報を検証しユーザーを識別するためのUser_Loginアクション
これでREST APIのすべてのメソッドにベーシック認証が必要になりました。ユーザーの資格情報は、エンドユーザー管理アプリケーションで管理します(デフォルトではUsersアプリケーション)。
上記の例では、OutSystemsはログインしたユーザーに対して、リクエストの期間中にセッションを作成します。GetUserId()関数はユーザーIDを返し、CheckRoleビルトイン関数を呼び出すことができるため、ユーザーとユーザーに割り当てられたロールに基づいたロジックを作成できます。