ユーザ名パスワード OAuth 認証フローについて
コンシューマにすでにユーザの認証情報がある場合、ユーザ名パスワード認証フローを使用して認証できます。
このフローでは、次の手順のようにアプリケーションがユーザのログイン情報を使用してアクセストークンを要求します。
- コンシューマはユーザのユーザ名とパスワードを使用してアクセストークンを要求します。これを行うには、適切な Salesforce トークン要求エンドポイント (https://login.salesforce.com/services/oauth2/token など) に対して帯域外 POST 要求を行います。次の要求項目は必須です。
リクエストボディの例は、次のようになります。
パラメータ 説明 grant_type この認証フローの場合、password にする必要があります。 client_id 接続アプリケーション定義の [コンシューマ鍵]。 client_secret 接続アプリケーション定義の [コンシューマの秘密]。 username エンドユーザのユーザ名。 password エンドユーザのパスワード。 1grant_type=password&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82Hn 2FVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret= 31955279925675241571&username=testuser%40salesforce.com&password=mypassword123456 - Salesforce はユーザログイン情報を検証し、成功したら、応答とアクセストークンをアプリケーションに送信します。この応答には次の値が含まれます。
レスポンスボディの例は、次のようになります。
パラメータ 説明 access_token アプリケーションが要求を行うために使用するセッション ID として機能するアクセストークン。このトークンは、ユーザログイン情報と同様に保護する必要があります。 instance_url API コールの送信先となる Salesforce インスタンスを示します。 id ユーザ、およびユーザの詳細に関するクエリの両方を識別するために使用できる ID URL。エンドユーザに関する詳細な情報を取得するための HTTP 要求で使用できます。 issued_at 署名が作成された日時。UNIX エポック (1970 年 1 月 1 日 00:00:00 UTC) からの秒数として表されます。 signature 連結 ID と issued_at 値を含むコンシューマの非公開鍵で署名されている Base64 符号化された HMAC-SHA256 署名。この signature は、ID URL がサーバから送信された後に変更されていないことを確認するために使用できます。 1{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P", 2"issued_at":"1278448832702","instance_url":"https://yourInstance.salesforce.com/", 3"signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=","access_token": 4"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW1 59ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs"} - アプリケーションは、提供されたアクセストークンを使用して保護されたユーザデータにアクセスします。