OAuth認証プロセスの手順
手順1:OAuthリクエストの準備
-
App IDの取得:
- アプリ登録を行い、発行されたApp IDを取得します。
-
Redirect URLの確認:
- アプリ登録時に指定したRedirect URLを準備します。
手順2:OAuthリクエストの実行
- 以下のURLフォーマットを使用してWebブラウザからアクセスします。
https://{Request Host}/v1/oauth?response_type=code&app_id=[Your App ID]&scope=[Desired Scopes]&redirect_url=[Your Redirect URL]
- {Request Host}:共有サーバーのアドレス(例:api-hrbc-jp.porterscloud.com)
- [Your App ID]:取得したApp ID
- [Desired Scopes]:必要なアクセス権限をカンマ区切りで指定(例:candidate_r,user_r)
- [Your Redirect URL]:Redirect URL
手順3:PORTERSログイン画面
- 指定したURLにアクセスすると、PORTERSのログイン画面が表示されます。ここでログイン情報を入力し、ログインします。
手順4:権限付与の確認
- ログイン後、アプリから要求されたアクセス権をユーザーが承認する必要があります。
手順5:アプリへのリダイレクト
- 権限承認後、ユーザーは指定されたredirect_urlにリダイレクトされ、認証コードがURLパラメータとして追加されます。
- 例:http://myapplication.com?code=abc123
手順6:Access Tokenの取得
- アプリは受け取った認証コードを使用してToken APIにアクセスし、Access Tokenを取得します。このトークンはCompany DBへのAPIリクエストに使用されます。
注意事項
- 認証コードの有効期限は発行から30秒です。この間にAccess Tokenを取得する必要があります。
- 必要なスコープはアプリがアクセスするリソースに基づいて正確に指定する必要があります。
クラウドサービスからのOAuthリクエストにおける留意点
-
サーバー間認証の場合(code_direct使用):
-
Webブラウザを介さないサーバー間での直接認証が必要な場合、
response_type
としてcode_direct
を使用します。これにより、Webブラウザ経由でなく直接的に認証コードを受け取ることができます。 -
redirect_url
は必要ありません。 -
リダイレクトURLのセキュリティ:
-
クラウドサービスがWebブラウザを使用する場合(例えば、Webアプリケーションの場合)、指定するredirect_urlはセキュリティが保たれている必要があります(通常はHTTPSを使用)。
-
非同期リクエストの取扱い:
-
クラウド環境でのリクエストは非同期に実行されることが多いです。認証プロセス中に時間がかかる場合があるため、タイムアウト設定など、非同期通信の特性を考慮した実装が必要です。
-
スケーラビリティと負荷の管理:
-
クラウドサービスを利用する場合、リクエストの数が増加する可能性があります。サーバーの負荷を適切に管理し、リソースをスケーリングできるように準備しておくことが重要です。
-
セキュリティ対策:
-
アクセストークンやリフレッシュトークンは、非常に敏感なデータです。これらのトークンを安全に管理し、不正アクセスや漏洩から保護するための適切なセキュリティ対策を講じることが必須です。
-
実装例(サーバー間認証の場合のリクエスト例):
https://{Request Host}/v1/oauth?response_type=code_direct&app_id=[Your App ID]&scope=[Desired Scopes]