AuthProvider
組織の認証プロバイダを表します。認証プロバイダは Facebook© や Janrain© などの外部サービスプロバイダのログイン情報を使用して、Salesforce 組織にユーザがログインできるようにします。Metadata メタデータ型を拡張し、その fullName 項目を継承します。
ファイルのサフィックスおよびディレクトリの場所
認証プロバイダは authproviders ディレクトリに保存されます。ファイル名は URL サフィックスに一致し、拡張子は .authprovider です。たとえば、URL サフィックスが FacebookProvider という認証プロバイダは、authproviders/FacebookProvider.authprovider に保存されます。
バージョン
認証プロバイダは、API バージョン 27.0 以降で使用できます。
特別なアクセスルール
このオブジェクトにアクセスできるのは、「アプリケーションのカスタマイズ」権限および「認証プロバイダの管理」権限のあるユーザのみです。
項目
| 項目名 | データ型 | 説明 |
|---|---|---|
| authorizeUrl | string |
providerType が OpenIdConnect である場合にのみ必須です。OAuth 認証エンドポイント URL。OpenID Connect 認証プロバイダでのみ使用されます。API バージョン 29.0 以降で使用できます。 API バージョン 33.0 以降では、この項目の動作は、Salesforce が管理する認証プロバイダ設定をサポートするように変更されました。これにより、Salesforce は、Facebook、Salesforce、LinkedIn、Twitter、または Google の認証の値を管理できるようになります。詳細は、「AuthProvider」セクションを参照してください。 |
| consumerKey | string | 必須。サードパーティのシングルサインオンプロバイダに登録されているアプリケーションの鍵。 API バージョン 33.0 以降では、この項目の動作は、Salesforce が管理する認証プロバイダ設定をサポートするように変更されました。これにより、Salesforce は、Facebook、Salesforce、LinkedIn、Twitter、または Google の認証の値を管理できるようになります。詳細は、「AuthProvider」セクションを参照してください。 |
| consumerSecret | string | 必須。サードパーティのシングルサインオンプロバイダに登録されているアプリケーションのコンシューマの秘密。この項目は更新できません。create() を使用する場合、この項目は暗号化する必要があります。テキスト形式から暗号化形式のコンシューマの秘密を作成する手順は、次のとおりです。
API バージョン 33.0 以降では、この項目の動作は、Salesforce が管理する認証プロバイダ設定をサポートするように変更されました。これにより、Salesforce は、Facebook、Salesforce、LinkedIn、Twitter、または Google の認証の値を管理できるようになります。詳細は、「AuthProvider」セクションを参照してください。 |
| customMetadataTypeRecord | string | ProviderType が Custom で、カスタム認証プロバイダプラグインを使用する場合にのみ必須です。認証プロバイダの API 名です。API バージョン 36.0 以降で使用できます。 |
| defaultScopes | string |
providerType が OpenIdConnect である場合にのみ必須です。フローの開始時に指定されていない場合に、認証要求で送信される範囲。OpenID Connect 認証プロバイダでのみ使用されます。API バージョン 29.0 以降で利用できます。 API バージョン 33.0 以降では、この項目の動作は、Salesforce が管理する認証プロバイダ設定をサポートするように変更されました。これにより、Salesforce は、Facebook、Salesforce、LinkedIn、Twitter、または Google の認証の値を管理できるようになります。詳細は、「AuthProvider」セクションを参照してください。 |
| DeveloperName | string | 必須。プログラムから認証プロバイダを参照するときに使用します。 |
| errorUrl | string | エラーのレポートに使用するプロバイダのカスタムエラー URL。 |
| executionUserId | string | Apex ハンドラクラスを実行するユーザ。このユーザは「ユーザの管理」権限を持っている必要があります。登録ハンドラクラスを指定した場合は、ユーザが必要です。 |
| friendlyName | string | 必須。わかりやすいプロバイダ名。 |
| iconUrl | string | コミュニティのログインページのボタンとして使用するアイコンへのパス。ユーザは、このボタンをクリックし、Twitter© や LinkedIn© など、関連付けられた認証プロバイダを使用して コミュニティにログインします。API バージョン 32.0 以降で使用できます。 |
| idTokenIssuer | string | providerType が OpenIdConnect の場合にのみ使用できます。この値には、認証トークンのソースを https: URI 形式で指定します。OpenID Connect 認証プロバイダでのみ使用されます。指定されている場合、Salesforce は返された id_token 値を検証します。OpenID Connect 仕様では、id_token 値と一緒に access_token 値を返す必要があります。API バージョン 30.0 以降で使用できます。 |
| logoutUrl | string | ユーザがシングルサインオンフローを使用して認証された場合にログアウト後の特定の移動先を指定します。URL は、http または https プレフィックス (https://acme.my.salesforce.com など) で完全修飾する必要があります。API バージョン 33.0 以降で使用できます。 |
| plugin | string | Auth.AuthProviderPlugin インターフェースを実装する既存の Apex クラス。API バージョン 36.0 以降で利用できます。 |
| providerType | AuthProviderType (string 型の列挙) | 必須。使用するサードパーティのシングルサインオンプロバイダ。有効な値は、次のとおりです。
|
| registrationHandler | string | Auth.RegistrationHandler インターフェースを実装する既存の Apex クラス。 |
| sendAccessTokenInHeader | boolean | providerType が OpenIdConnect の場合にのみ必須です。true の場合、アクセストークンはクエリ文字列ではなくヘッダーで userInfoUrl に送信されます。OpenID Connect 認証プロバイダでのみ使用されます。API バージョン 30.0 以降で使用できます。 |
| sendClientCredentialsInHeader | boolean | providerType が OpenIdConnect の場合にのみ必須です。true の場合、クライアントログイン情報はクエリ文字列ではなくヘッダーで tokenUrl に送信されます。ログイン情報には、標準の OpenID Connect 基本ログイン情報ヘッダー形式 Basic <token> が使用されます。ここで <token> は、base64 符号化文字列 "clientkey:clientsecret" です。OpenID Connect 認証プロバイダでのみ使用されます。API バージョン 30.0 以降で使用できます。 |
| tokenUrl | string |
providerType が OpenIdConnect である場合にのみ必須です。OAuth トークンエンドポイント URL。OpenID Connect 認証プロバイダでのみ使用されます。API バージョン 29.0 以降で使用できます。 API バージョン 33.0 以降では、この項目の動作は、Salesforce が管理する認証プロバイダ設定をサポートするように変更されました。これにより、Salesforce は、Facebook、Salesforce、LinkedIn、Twitter、または Google の認証の値を管理できるようになります。詳細は、「AuthProvider」セクションを参照してください。 |
| userInfoUrl | string |
providerType が OpenIdConnect である場合にのみ必須です。OpenID Connect エンドポイント URL。OpenID Connect 認証プロバイダでのみ使用されます。API バージョン 29.0 以降で使用できます。 API バージョン 33.0 以降では、この項目の動作は、Salesforce が管理する認証プロバイダ設定をサポートするように変更されました。これにより、Salesforce は、Facebook、Salesforce、LinkedIn、Twitter、または Google の認証の値を管理できるようになります。詳細は、「AuthProvider」セクションを参照してください。 |
宣言的なメタデータの定義のサンプル
1<?xml version="1.0" encoding="UTF-8"?>
2<AuthProvider xmlns="http://soap.sforce.com/2006/04/metadata">
3 <consumerKey>yourappkey</consumerKey>
4 <consumerSecret>PwdVxXjzu3NCZ3MD4He+wA==</consumerSecret>
5 <executionUser>admin@your.org</executionUser>
6 <friendlyName>FacebookAuthProvider</friendlyName>
7 <providerType>Facebook</providerType>
8 <registrationHandler>RegistrationHandler</registrationHandler>
9</AuthProvider>1<?xml version="1.0" encoding="UTF-8"?>
2<Package xmlns="http://soap.sforce.com/2006/04/metadata">
3 <types>
4 <members>AuthProvider</members>
5 <name>FacebookProvider</name>
6 </types>
7 <version>28.0</version>
8</Package>使用方法
API バージョン 33.0 以降では、Salesforce が管理する認証プロバイダ設定を実装するときに、次の項目を Salesforce で作成および管理できます。
- authorizeUrl
- consumerKey
- consumerSecret
- defaultScopes
- tokenURL
- userInfoUrl
Salesforce が管理する認証プロバイダを設定するには、Facebook、Salesforce、LinkedIn、Twitter または Google の認証プロバイダを設定し、上記の項目をすべて空白にします。Salesforce により値が自動的に作成されます。ただし、これらの項目の値を指定する場合は、consumerKey と consumerSecret も指定する必要があります。