Definir um manipulador de troca de token
Para terminar de criar um manipulador de troca de token, defina o manipulador na página Manipuladores de troca de token em Configuração ou use a API de metadados para definir um novo tipo de metadados OauthTokenExchangeHandler.
Edições obrigatórias
| Disponível em: Edições Enterprise, Performance, Unlimited e Developer |
- Definir um manipulador em Configuração
Defina um manipulador na página Manipuladores de troca de token em Configuração. - Definir um manipulador por meio da API de metadados
Defina um tipo de metadados OauthTokenExchangeHandler.
Definir um manipulador em Configuração
Defina um manipulador na página Manipuladores de troca de token em Configuração.
- Em Configuração, na caixa Busca rápida, insira Token e selecione Manipuladores de troca de token.
- Clique em Criar manipulador de troca de token.
- Insira um nome e um nome de API. O nome de API deve ser exclusivo.
- Insira uma descrição para o manipulador.
- Selecione os tipos de tokens aos quais você deseja que o manipulador ofereça suporte.
- Opcionalmente, para configurar o manipulador para criar usuários quando ele não consegue encontrá-los no Salesforce, selecione Permitir que esse manipulador crie usuários. Se essa configuração estiver habilitada, o manipulador não inserirá um usuário. Ele cria um objeto Usuário que o Salesforce insere automaticamente para você.
-
Associe uma classe do Apex à definição de manipulador.
- Para gerar um modelo de manipulador do Apex, selecione Criar modelo de classe do Apex. O Salesforce cria um manipulador gerado automaticamente e o salva sob o nome
AutocreatedTokenExchHandler<string of numbers>.. Para personalizar o manipulador, localize-o na página Classes do Apex em Configuração e edite o código conforme seu caso de uso.
Importante O manipulador gerado automaticamente fornece um local para começar, mas ele não está pronto como está. Personalize e teste-o.- Para usar um manipulador que você criou, para Classe do Apex, selecione uma classe do manipulador do Apex de troca de token que estenda a classe
Auth.Oauth2TokenExchangeHandler.
- Para gerar um modelo de manipulador do Apex, selecione Criar modelo de classe do Apex. O Salesforce cria um manipulador gerado automaticamente e o salva sob o nome
-
Salve o manipulador.
- Para salvar o manipulador e habilitá-lo, clique em Salvar e habilitar. Habilitar o manipulador significa que ele está em um estado habilitado, mas não significa que ele está associado a nenhum aplicativo cliente externo ou aplicativo conectado ainda.
- Para salvar o manipulador sem habilitar, clique em Salvar. Você sempre pode ativá-lo mais tarde.
O novo manipulador aparece no modo de exibição de lista na página Manipuladores de troca de token. Para ativá-lo ou desativá-lo, clique em
e selecione Ativar ou Desativar.
Em seguida, habilite os aplicativos para o manipulador de troca de token.
Definir um manipulador por meio da API de metadados
Defina um tipo de metadados OauthTokenExchangeHandler.
Certifique-se de que você tenha as permissões certas para trabalhar com a API de metadados. Consulte Acesso de edição da API de metadados no Guia do desenvolvedor da API de metadados.
Para trabalhar com a API de metadados, use as Extensões do Salesforce para Visual Studio Code no Salesforce CLI ou use a ferramenta de desenvolvedor desejada. Para obter mais informações, consulte Ferramentas para desenvolvedores da API de metadados no Guia do desenvolvedor da API de metadados.
A API de metadados suporta o desenvolvimento baseado em arquivo e baseado em CRUD. Estas etapas abrangem como definir o manipulador com desenvolvimento baseado em arquivo.
-
Crie um arquivo de manifesto package.xml que faça referência ao tipo de metadados de OauthTokenExchangeHandler. Veja um exemplo. Este exemplo usa
<members>*</members>para recuperar todos os componentes da definição de metadados do manipulador.<?xml version="1.0" encoding="UTF-8"?> <Package xmlns="http://soap.sforce.com/2006/04/metadata"> <types> <members>*</members> <name>OauthTokenExchangeHandler</name> </types> <version>60.0</version> </Package> - Crie um diretório chamado oauthtokenexchangehandlers.
- No diretório oauthtokenexchangehandlers, crie um arquivo chamado <nome do seu manipulador>.oauthtokenexchangehandler. Esse arquivo define o manipulador.
-
No arquivo <nome do seu manipulador>.oauthtokenexchangehandler, crie a definição do manipulador.
Por enquanto, inclua estes campos. Não adicione ainda um campo de enablements, adicione esse campo ao associar o manipulador a um aplicativo depois de implementá-lo.Para obter uma descrição completa de cada campo, consulte OauthTokenExchangeHandler no Guia do desenvolvedor da API de metadados.
Field Description description A description for the handler. developerName The handler’s developer name, such as MyHandler.isAccessTokenSupported Indicates whether the handler supports access tokens. isEnabled Indicates whether the handler is enabled. For now, set this field to false.isIdTokenSupported Indicates whether the handler supports ID tokens. isJwtSupported Indicates whether the handler supports tokens in a JSON Web Token (JWT) format. isProtected Indicates whether the handler is protected. See Componentes protegidos em pacotes gerenciados. isRefreshTokenSupported Indicates whether the handler supports refresh tokens. isSaml2Supported Indicates whether the handler supports SAML 2.0 assertions. isUserCreationAllowed Indicates whether the handler can set up User objects, which Salesforce uses to automatically insert users. masterLabel A user-friendly name for the handler. tokenHandlerApex The Apex class that handles validation and subject mapping. Use the Apex class you created. Veja um arquivo de exemplo.<?xml version="1.0" encoding="UTF-8"?> <OauthTokenExchangeHandler xmlns="http://soap.sforce.com/2006/04/metadata"> <developerName>MyTokenExchangeHandler</developerName> <description>My token exchange handler</description> <isAccessTokenSupported>true</isAccessTokenSupported> <isEnabled>false</isEnabled> <isIdTokenSupported>false</isIdTokenSupported> <isJwtSupported>true</isJwtSupported> <isProtected>false</isProtected> <isRefreshTokenSupported>false</isRefreshTokenSupported> <isSaml2Supported>false</isSaml2Supported> <isUserCreationAllowed>true</isUserCreationAllowed> <masterLabel>MyTokenExchangeHandler</masterLabel> <tokenHandlerApex>MyOauthTokenExchangeHandler</tokenHandlerApex> </OauthTokenExchangeHandler> -
Crie um diretório chamado deploy e mova o arquivo package.xml e a pasta oauthtokenexchangehandlers que contém seu arquivo <nome do seu manipulador>.oauthtokenexchangehandler para o novo diretório.
Veja como a estrutura de arquivos fica.
- Compacte o diretório em um arquivo .zip.
-
Use a ferramenta de desenvolvimento de metadados, use a chamada
deploy()para implementar o arquivo .zip na sua organização.
Em seguida, use a API de metadados para habilitar o manipulador de troca de token para um aplicativo conectado ou aplicativo cliente externo.
