Gerenciando perfis
Com o IBM Cloud® App ID, é possível compilar informações sobre os usuários individuais de seu aplicativo em um perfil. As informações no perfil podem ser aprendidas sobre seus usuários pela maneira como eles interagem com seu app ou incluídas por você em seu nome. Ao armazenar as informações, é possível acessá-la para ajudar a criar experiências personalizadas de seu app para seus usuários.
Procurando informações sobre usuários do Cloud Directory? Verifique gerenciando usuários.
Visualização de perfis de usuário no console
Para ver os dados que estão disponíveis para seus usuários do app, é possível usar a IU do App ID.
-
Navegue para a guia Perfis do usuário > Perfis de sua instância do App ID.
-
Examine a tabela ou procure usando um endereço de e-mail para localizar o usuário do qual você deseja ver as informações. O termo de procura deve ser exato.
-
No menu overflow da linha do usuário, clique em Visualizar perfil do usuário. É aberta uma página contendo as informações sobre o usuário. Verifique a tabela a seguir para ver quais informações você pode ver.
Detalhes do usuário, conforme mostrado no painel App ID Detail Descrição Identificador IdP O identificador IdP é emitido pelo provedor que seu usuário escolheu para se conectar ao seu aplicativo com ele. E-mail O endereço de e-mail principal anexado ao usuário. Nome O nome e o sobrenome do seu usuário, conforme emitido pelo provedor de identidade. Provedor de identidade O provedor com o que seu usuário escolheu se conectar. ID O ID designado ao usuário pelo App ID. Atributos customizados Atributos customizados são informações adicionais incluídas no perfil ou que são aprendidas sobre os usuários, à medida que eles interagem com seu aplicativo. Resumo Todas as informações que estão associadas a esse usuário são mostradas como um objeto JSON.
Visualizando perfis do usuário com a API
É possível usar a API do App ID para visualizar detalhes sobre os usuários do app.
-
Obtenha seu ID de locatário em sua instância do serviço. É possível localizar o ID em suas credenciais de serviço ou de aplicativo.
-
Procure seus usuários do App ID com uma consulta de identificação, como um endereço de e-mail, para localizar a identificação de usuário.
curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/Users?query=<identifyingSearchQuery>" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"Exemplo:
curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=example@domain.com -H "accept: application/json" -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...." -
Usando o ID que você obteve na etapa anterior, faça uma solicitação GET para o terminal
/userspara ver seu perfil do usuário integral.curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"Resposta de exemplo:
{ "id": "a0791903-ed4c-41cf-bd0e-a37957dad820", "name": "David Test-user", "email": "dave.test@domain.com", "picture": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=11122233344455566&height=50&width=50&ext=1569429199&hash=AaAaAAAAAaAAAaaA", "identities": [ { "provider": "facebook", "id": "11122233344455566", "idpUserInfo": { "id": "11122233344455566", "name": "David Test-user", "picture": { "data": { "height": 50, "is_silhouette": false, "url": "https://platform-lookaside.fbsbx.com/platform/profilepic/?asid=11122233344455566&height=50&width=50&ext=1569429199&hash=AaAaAAAAAaAAAaaA", "width": 50 } }, "first_name": "David", "last_name": "Test-user", "email": "dave.test@domain.com", "idpType": "facebook" } } ], "attributes": { "role": "admin" } }Para ver o conjunto completo de dados do usuário que o site App ID suporta, consulte o esquema principal do SCIM.
Definição de atributos personalizados no console
É possível incluir informações customizadas sobre seus usuários nos perfis deles, como a função ou a preferência que eles têm, configurando um atributo customizado. Para configurar um atributo, é possível usar a IU do App ID.
Por padrão, os atributos customizados são modificáveis e podem ser atualizados usando um token de acesso do App ID por meio de um aplicativo cliente. Sem tomar as devidas precauções, o usuário ou o aplicativo pode atualizar atributos customizados imediatamente após a primeira conexão do usuário, se eles tiverem um token de acesso. Isso pode levar potencialmente a consequências indesejadas. Por exemplo, um usuário pode mudar sua função de usuário para administrador, o que pode expor privilégios administrativos a usuários maliciosos.
-
Acesse a guia Perfis do usuário > Configurações do painel do App ID.
-
Alterne atributos customizados para Ativado.
-
Clique em Visualizar Perfil no menu overflow da linha para o usuário para o qual você deseja configurar o atributo.
-
Na seção Atributos customizados, clique em Editar.
-
Insira os atributos que você deseja incluir como um objeto JSON. Por exemplo,
{"role":"admin"}.
Setting custom attributes with the API
Como administrador, é possível incluir informações customizadas sobre seus usuários nos perfis deles, como a função ou a preferência que eles têm, configurando um atributo customizado. Para configurar um atributo, é possível usar a API App ID
para chamar o terminal /users. Para configurar atributos customizados antes que um usuário se conecte em seu aplicativo pela primeira vez, consulte Registrando previamente os usuários futuros.
Por padrão, os atributos customizados são modificáveis e podem ser atualizados usando um token de acesso do App ID por meio de um aplicativo cliente. Isso significa que, sem tomar precauções adequadas, o usuário ou o aplicativo poderão atualizar os atributos customizados imediatamente após a primeira conexão do usuário, se eles tiverem um token de acesso. Isso pode levar potencialmente a consequências indesejadas. Por exemplo, um usuário pode mudar sua função de usuário para administrador, o que pode expor privilégios administrativos a usuários maliciosos.
-
Acesse a guia Perfis do usuário > Configurações do painel do App ID.
-
Alterne atributos customizados para Ativado.
-
Obtenha um token do IAM.
-
No painel do IBM Cloud, clique em Gerenciar > Acesso (IAM).
-
Selecione **IBM Cloud Chaves API **.
-
Clique em Criar uma chave de API do IBM Cloud.
-
Dê um nome a sua chave e descreva-a. Clique em Criar. Uma tela é exibida com sua chave.
-
Clique em Copiar ou Fazer download de sua chave. Ao fechar a tela, não é mais possível acessar a chave.
-
Faça a solicitação cURL a seguir com a chave de API que você criou.
curl -k -X POST \ --header "Content-Type: application/x-www-form-urlencoded" \ --header "Accept: application/json" \ --data-urlencode "grant_type=urn:ibm:params:oauth:grant-type:apikey" \ --data-urlencode "apikey=<apikey>" \ "https://iam.cloud.ibm.com/identity/token"
-
-
Faça uma solicitação de PUT para o terminal
/users.curl -X PUT "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -H "authorization: Bearer <token>" -d "{ \"attributes\": { \"points\": \"150\" } { \"role\": \"admin\" }}"
Exclusão de um perfil no console
Como administrador, é possível remover alguém como usuário de seu aplicativo excluindo o perfil dele.
-
Navegue para a guia Perfis do usuário > Perfis de sua instância do App ID.
-
Examine a tabela ou procure usando um endereço de e-mail para localizar o usuário do qual você deseja ver as informações. O termo de procura deve ser exato.
-
No menu overflow da linha do usuário, clique em Excluir. Uma tela de confirmação é aberta.
-
Verifique se você está excluindo o usuário correto verificando seu e-mail com relação ao exibido. Se ele for o usuário correto, clique em Excluir. Essa ação não pode ser desfeita O usuário pode ser adicionado novamente, mas seu perfil mostra que ele é um novo usuário a partir da data em que foi adicionado novamente.
Excluindo um perfil com a API
Como administrador, é possível remover alguém como usuário de seu aplicativo excluindo o perfil dele.
-
Obtenha seu ID de locatário em sua instância do serviço. É possível localizar o ID em suas credenciais de serviço ou de aplicativo.
-
Procure seus usuários do App ID com uma consulta de identificação, como um endereço de e-mail, para localizar a identificação de usuário.
curl -X GET "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/Users?query=<identifyingSearchQuery>" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"Exemplo:
curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/e19a2778-3262-4986-8875-8khjafsdkhjsdafkjh/cloud_directory/Users?query=example@domain.com -H "accept: application/json" -H "authorization: Bearer eyJraWQiOiIyMDE3MTEyOSIsImFsZ...." -
Usando o ID que você obteve na etapa anterior, faça uma solicitação
DELETEpara o terminal/usersa fim de excluir o perfil.curl -X DELETE "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/<userID>/profile" \ -H "accept: application/json" \ -H "authorization: Bearer <token>"
Migrando perfis do usuário
Ocasionalmente, é necessário incluir uma instância de App ID em sua conta para ajudar a assegurar a alta disponibilidade ou a recuperação de desastre. Ou, pode ser necessário descontinuar uma instância do serviço todos juntos. Para migrar as informações sobre o usuário, é possível exportar os perfis do usuário de uma instância do App ID e importá-los em outra.
Essa ação pode ser feita apenas por meio da API. Para ver as etapas, alterne para as instruções de API.
Exportando perfis do usuário
Para que seja possível importar seus perfis para sua nova instância, é necessário exportá-los de sua instância original do serviço.
-
Certifique-se de que a função do IAM de Gerenciador tenha sido designada a você para ambas as instâncias do App ID.
-
Exporte os perfis de sua instância original do serviço.
curl -X GET https://us-south.appid.cloud.ibm.com/management/v4/<tenantID>/users/export \ --header "Accept: application/json" \ --header "Authorization: Bearer <IAMToken>"Variáveis de comando de importação de usuário Variável Descrição tenantIDO ID do locatário de serviço pode ser localizado em suas credenciais de serviço. É possível localizar suas credenciais de serviço ou de aplicativo no painel do App ID. iam-tokenSeu token do IAM. Resposta de exemplo:
{ "itemsPerPage": 2, "totalResults": 2, "requestOptions": {}, "users": [ { "id": "7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6", "name": "App ID Google User profile", "email": "your@mail.com", "identities": [ { "provider": "google", "id": "105646725068605084546", "idpUserInfo": { "id": "105646725068605084546", "email": "your@mail.com", "picture": "profilePic.jpg" } } ], "attributes": { "points": 150 }, "roles": ["admin"] { "id": "1439d777-185d-4be1-8f4a-c4e8142b87ea", "name": "App ID Facebook User profile", "email": "mail@mail.com", "identities": [ { "provider": "facebook", "id": "100195207128541", "picture": { "data": { "height": 50, "width": 50, "url": "https://url-to-idp-profile-picture.com" } }, "first_name": "AppID", "last_name": "Development" } ], "attributes": { "points": 250 }, "roles": ["admin"] } }
Importando perfis do usuário
Agora que você tem uma lista de perfis do usuário exportados, é possível importá-los para a nova instância.
-
Certifique-se de que a função do IAM de Gerenciador tenha sido designada a você para ambas as instâncias do App ID.
-
Se seus usuários tiverem funções designadas, certifique-se de criar as funções e os escopos em sua nova instância do App ID.
As funções e os escopos devem ser criados exatamente como eles estavam na instância anterior com as mesmas ortografias.
-
Importe os usuários para sua nova instância do serviço.
curl -X POST "https://<region>.appid.cloud.ibm.com/management/v4/<tenantID>/users/import" \ -H "accept: application/json" \ -H "Authorization: Bearer <bearerToken>" \ -H "Content-Type: application/json" \ -d "{ \"itemsPerPage\": 2, \"totalResults\": 2, \"requestOptions\": {}, \"users\": [ { \"id\": \"7ae804f3-0ed3-45f0-bc6b-1c6af868e6d6\", \"name\": \"App ID Google User profile\", \"email\": \"your@mail.com\", \"identities\": [ { \"provider\": \"google\", \"id\": \"105646725068605084546\", \"idpUserInfo\": { \"id\": \"{ID}\", \"email\": \"your@mail.com\", \"picture\": \"{profile.jpg}\" } } ], \"attributes\": { \"points\": 150 } { \"role\": admin } }, { \"id\": \"{userinfo}\", \"name\": \"App ID Facebook User profile\", \"email\": \"mail@mail.com\", \"identities\": [ { \"provider\": \"facebook\", \"id\": \"{id}\", \"picture\": { \"data\": { \"height\": 50, \"width\": 50, \"url\": \"https://{url}.com\" } }, \"first_name\": \"AppID\", \"last_name\": \"Development\" } ], \"attributes\": { \"points\": 250 } { \"role\": admin } } ]}"Quando você importa usuários para uma instância do App ID, o identificador do Provedor de identidade deles permanece o mesmo.