この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
英語に切り替える

ユーザ名パスワード OAuth 認証フローについて

コンシューマにすでにユーザの認証情報がある場合、ユーザ名パスワード認証フローを使用して認証できます。
このフローでは、次の手順のようにアプリケーションがユーザのログイン情報を使用してアクセストークンを要求します。

この OAuth 認証フローでは、ユーザのログイン情報をやり取りする必要があります。この認証フローは、必要な場合にのみ使用してください。更新トークンは発行されません。

警告

ユーザ名パスワード OAuth 認証フロー
  1. コンシューマはユーザのユーザ名とパスワードを使用してアクセストークンを要求します。これを行うには、適切な Salesforce トークン要求エンドポイント (https://login.salesforce.com/services/oauth2/token など) に対して帯域外 POST 要求を行います。次の要求項目は必須です。
    パラメータ 説明
    grant_type この認証フローの場合、password にする必要があります。
    client_id 接続アプリケーション定義の [コンシューマ鍵]
    client_secret 接続アプリケーション定義の [コンシューマの秘密]
    username エンドユーザのユーザ名。
    password エンドユーザのパスワード。

    ユーザのセキュリティトークンをユーザのパスワードに付加する必要があります。セキュリティトークンは、Salesforce で自動生成されたキーです。たとえば、ユーザのパスワードが mypassword で、セキュリティトークンが XXXXXXXXXX の場合は、このパラメータには、値 mypasswordXXXXXXXXXX を指定する必要があります。セキュリティトークンの詳細は、オンラインヘルプの「セキュリティトークンのリセット」を参照してください。

    メモ

    リクエストボディの例は、次のようになります。
    1grant_type=password&client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82Hn
    2FVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&client_secret=
    31955279925675241571&username=testuser%40salesforce.com&password=mypassword123456
  2. 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"}
  3. アプリケーションは、提供されたアクセストークンを使用して保護されたユーザデータにアクセスします。
ユーザエージェント OAuth フローを使用するときの考慮事項は、次のとおりです。
  • このフローではユーザが Salesforce でログインするためにリダイレクトされることはないため、ユーザは直接アプリケーションを認証できません。そのため、更新トークンは使用できません。アプリケーションで更新トークンが必要な場合、Web サーバまたはユーザエージェント OAuth フローの使用を検討してください。