Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Utilizzo di provider di OIDC identità con un pool di utenti
Gli utenti possono accedere alla tua applicazione utilizzando i loro account esistenti dai provider di identità OpenID Connect (OIDC) (IdPs). Con OIDC i provider, gli utenti di sistemi Single Sign-On indipendenti possono fornire le credenziali esistenti mentre l'applicazione riceve i OIDC token nel formato condiviso di pool di utenti. Un pool di utenti è un OIDC IdP che può anche fungere da relying party intermedio tra più utenti esterni OIDC IdPs e l'applicazione.
Gli utenti che accedono con un OIDC IdP non sono tenuti a fornire nuove credenziali o informazioni per accedere all'applicazione del pool di utenti. La tua applicazione può reindirizzarli silenziosamente al loro IdP per l'accesso, con un pool di utenti come strumento in background che standardizza il formato del token per la tua applicazione. Per ulteriori informazioni sul reindirizzamento IdP, consulta. Endpoint Authorize
Come con altri provider di identità di terze parti, devi registrare la tua applicazione presso il OIDC provider e ottenere informazioni sull'applicazione IdP che desideri connettere al tuo pool di utenti. Un OIDC IdP di un pool di utenti richiede un ID client, un segreto client, gli ambiti da richiedere e informazioni sugli endpoint del servizio del provider. Il tuo pool di utenti può scoprire gli endpoint del provider da un OIDC endpoint di rilevamento oppure puoi inserirli manualmente. È inoltre necessario esaminare i token ID del provider e creare mappature degli attributi tra l'IdP e gli attributi del pool di utenti.
Nota
L'accesso tramite terze parti (federazione) è disponibile per i bacini d'utenza Amazon Cognito. Questa funzionalità è indipendente dalla OIDC federazione con i pool di identità di Amazon Cognito.
Puoi aggiungere un OIDC IdP al tuo pool di utenti con AWS Management Console, tramite o con il AWS CLI metodo del pool API di utenti. CreateIdentityProvider
Argomenti
Prerequisiti
Prima di iniziare, è necessario:
-
Un bacino d'utenza con un client di applicazioni e dominio per il bacino d'utenza. Per ulteriori informazioni, consulta Creazione di un bacino d'utenza.
-
Un OIDC IdP con la seguente configurazione:
-
Supporta l'autenticazione client
client_secret_post
. Amazon Cognito non verifica iltoken_endpoint_auth_methods_supported
claim nell'endpoint di OIDC rilevamento del tuo IdP. Amazon Cognito non supporta l'autenticazione clientclient_secret_basic
. Per ulteriori informazioni sull'autenticazione client, consulta Autenticazione clientnella documentazione di OpenID Connect. -
Viene utilizzato solo HTTPS per OIDC endpoint come, e
openid_configuration
.userInfo
jwks_uri
-
Utilizza solo TCP le porte 80 e 443 per gli OIDC endpoint.
-
Firma i token ID solo con HMAC - SHAECDSA, o algoritmi. RSA
-
Pubblica un'attestazione
kid
dell'ID chiave presso il relativojwks_uri
e include un'attestazionekid
nei rispettivi token. -
Presenta una chiave pubblica non scaduta con una catena di fiducia CA root valida.
-
Fase 1: Registrazione con un OIDC IdP
Prima di creare un OIDC IdP con Amazon Cognito, devi registrare la tua applicazione con l'OIDCIdP per ricevere un ID cliente e un segreto cliente.
Per registrarsi con un OIDC IdP
-
Crea un account sviluppatore con l'OIDCIdP.
Collegamenti a OIDC IdPs OIDCIdP Installazione OIDCScoperta URL Salesforce https://login.salesforce.com
Identità Ping https://
Your Ping domain address
:9031/idp/userinfo.openidAd esempio:
https://pf.company.com:9031/idp/userinfo.openid
Okta https://
Your Okta subdomain
.oktapreview.comoppure
https://
Your Okta subdomain
.okta.comMicrosoft Azure Active Directory (AD) https://login.microsoftonline.com/
{tenant}
/v2.0Google https://accounts.google.com
Nota
Amazon Cognito offre Google come IdP di accesso social integrato. È consigliabile utilizzare l'IdP integrato. Per informazioni, consulta Utilizzo di provider di identità social con un pool di utenti.
-
Registra il dominio URL del tuo pool di utenti presso l'
/oauth2/idpresponse
endpoint con il tuo OIDC IdP. Ciò garantisce che l'OIDCIdP lo accetti successivamente da Amazon Cognito quando autentica gli utenti.https://
mydomain.us-east-1.amazoncognito.com
/oauth2/idpresponse -
Registra la tua callback URL con il tuo pool di utenti Amazon Cognito. Questa è la URL pagina in cui Amazon Cognito reindirizza l'utente dopo un'autenticazione riuscita.
https://
www.example.com
-
Seleziona i tuoi scopes
(ambiti). L'ambito openid (OpenID) è obbligatorio. L'ambito email (E-mail) è necessario per ottenere l'accesso alle richieste email ed email_verifiedhttps://openid.net/specs/openid-connect-basic-1_0.html#StandardClaims . -
L'OIDCIdP ti fornisce un ID cliente e un segreto client. Li utilizzerai quando configurerai un OIDC IdP nel tuo pool di utenti.
Esempio: usa Salesforce come IdP con il tuo OIDC pool di utenti
Utilizzi un OIDC IdP quando desideri stabilire un rapporto di fiducia tra un IdP OIDC compatibile come Salesforce e il tuo pool di utenti.
-
Creazione di un account
sul sito Web di Salesforce Developers. -
Accedi
tramite il tuo account sviluppatore impostato nella fase precedente. -
Dalla pagina di Salesforce, procedi in una delle modalità seguenti:
-
Se utilizzi Lightning Experience, scegli l'icona a forma di ingranaggio delle impostazioni, quindi scegli Setup Home (Imposta home).
-
Se utilizzi Salesforce Classic e vedi la voce Setup (Impostazioni) nell'intestazione dell'interfaccia utente, sceglila.
-
Se utilizzi Salesforce Classic e non vedi la voce Setup (Impostazioni) nell'intestazione, scegli il tuo nome nella barra di navigazione in alto e scegli Setup (Impostazioni) dall'elenco a discesa.
-
-
Nella barra di navigazione a sinistra, scegli Company Settings (Impostazioni azienda).
-
Nella barra di navigazione, scegli Domain (Dominio), inserisci un dominio e seleziona Create (Crea).
-
Nella barra di navigazione a sinistra, vai a Platform Tools Strumenti piattaforma e scegli App.
-
Scegli App Manager Gestore app.
-
-
Scegli New connected app (Nuova app connessa).
-
Completa i campi obbligatori.
In Start URL, inserisci un URL nell'
/authorize
endpoint per il dominio del pool di utenti che accede con il tuo Salesforce IdP. Quando gli utenti accedono all'app connessa, Salesforce li indirizza a tale accesso per completare l'accesso. URL Quindi Salesforce reindirizza gli utenti al callback che hai associato al client dell'appURL.https://
mydomain.us-east-1.amazoncognito.com
/authorize?response_type=code&client_id=<your_client_id>
&redirect_uri=https://www.example.com
&identity_provider=CorpSalesforce
-
Abilita OAuthle impostazioni e inserisci l'
/oauth2/idpresponse
endpoint per il URL dominio del pool di utenti in Callback. URL È URL qui che Salesforce emette il codice di autorizzazione che Amazon Cognito scambia con un token. OAuthhttps://
mydomain.us-east-1.amazoncognito.com
/oauth2/idpresponse
-
-
Seleziona i tuoi scopes
(ambiti). È necessario includere openid per l'ambito. Per concedere l'accesso alle attestazioni email e email_verified aggiungi l'ambito email. Separa gli ambiti con gli spazi. -
Scegli Create (Crea).
In Salesforce, l'ID client viene chiamato Consumer Key (Chiave consumatore), mentre il segreto client è un Consumer Secret (Segreto consumatore). Prendi nota dell'ID client e del segreto client. Li utilizzerai nella sezione successiva.
Passaggio 2: aggiungi un OIDC IdP al tuo pool di utenti
In questa sezione, configuri il tuo pool di utenti per elaborare le richieste di autenticazione OIDC basate su un OIDC IdP.
Per aggiungere un OIDC IdP (console Amazon Cognito)
Aggiungi un OIDC IdP
-
Passa alla console Amazon Cognito
. Se richiesto, inserisci le tue AWS credenziali. -
Scegli User Pools (Bacini d'utenza) dal menu di navigazione.
-
Scegli un bacino d'utenza esistente dall'elenco o creane uno nuovo.
-
Scegli la scheda Sign-in experience (Esperienza di accesso). Individua l'opzione Federated sign-in (Accesso federato) e seleziona Add an identity provider (Aggiungi un provider di identità).
-
Scegli un provider di identità OpenID Connect.
-
Inserisci un nome univoco nel campo Provider name (Nome provider).
-
Inserisci l'ID client che hai ricevuto dal tuo provider nel campo ID client (Client ID).
-
Inserisci il segreto client che hai ricevuto dal tuo provider nel campo Client secret (Segreto client).
-
Inserisci gli Authorized scopes (Ambiti autorizzati) per questo provider. Gli ambiti definiscono quali gruppi di attributi utente (ad esempio
name
eemail
) verranno richiesti dalla tua applicazione al tuo provider. Gli ambiti devono essere separati da spazi, secondo la OAuth specifica 2.0.All'utente viene richiesto il consenso a fornire questi attributi all'app.
-
Scegli un metodo di richiesta degli attributi per fornire ad Amazon Cognito il HTTP metodo (uno GET oPOST) che deve utilizzare per recuperare i dettagli dell'utente dall'userInfoendpoint gestito dal tuo provider.
-
Scegli un metodo di configurazione per recuperare gli endpoint OpenID Connect URL tramite Compilazione automatica tramite emittente o immissione manuale. Utilizza la funzione di riempimento automatico tramite emittente URL quando il tuo provider dispone di un
.well-known/openid-configuration
endpoint pubblico in cui Amazon Cognito può recuperare URLs gli endpointtoken
,,userInfo
e.authorization
jwks_uri
-
Inserisci l'emittente URL o
authorization
,token
userInfo
, e l'jwks_uri
endpoint del tuo URLs IdP.Nota
URLDovrebbe iniziare con
https://
e non terminare con una barra./
Con questo è possibile utilizzare solo i numeri di porta 443 e 80. URL Ad esempio, Salesforce utilizza questo: URLhttps://login.salesforce.com
Se si sceglie il riempimento automatico, il documento HTTPS di scoperta deve utilizzare i seguenti valori:
authorization_endpoint
token_endpoint
,userinfo_endpoint
, ejwks_uri
. In caso contrario, l'accesso avrà esito negativo. -
Per impostazione predefinita, il OIDC claim sub è mappato all'attributo Username del pool di utenti. È possibile mappare altre OIDC rivendicazioni agli attributi
del pool di utenti. Inserisci l'OIDCattestazione e scegli l'attributo del pool di utenti corrispondente dall'elenco a discesa. Ad esempio, l'indirizzo e-mail della richiesta viene spesso mappato all'attributo del bacino d'utenza Email (E-mail). -
Mappa gli attributi dal provider di identità al bacino d'utenza. Per ulteriori informazioni, vedi Specificazione di mappature degli attributi del provider di identità per il pool di utenti.
-
Scegli Create (Crea).
-
Dalla scheda App client integration (integrazione client dell'app), scegli uno dei client dell'app nella lista e modifica le impostazioni dell'interfaccia utente ospitata. Aggiungi il nuovo OIDC IdP al client dell'app in Provider di identità.
-
Scegli Save changes (Salva modifiche).
Per aggiungere un OIDC IdP ()AWS CLI
-
Vedi le descrizioni dei parametri per il CreateIdentityProviderAPImetodo.
aws cognito-idp create-identity-provider --user-pool-id
string
--provider-namestring
--provider-type OIDC --provider-detailsmap
--attribute-mappingstring
--idp-identifiers (list) --cli-input-jsonstring
--generate-cli-skeletonstring
Utilizza questa mappa di dettagli dei provider:
{ "client_id": "string", "client_secret": "string", "authorize_scopes": "string", "attributes_request_method": "string", "oidc_issuer": "string", "authorize_url": "string", "token_url": "string", "attributes_url": "string", "jwks_uri": "string" }
Passaggio 3: verifica la configurazione del tuo OIDC IdP
Puoi creare l'autorizzazione URL utilizzando gli elementi delle due sezioni precedenti e utilizzandoli per testare la configurazione del tuo OIDC IdP.
https://
mydomain.us-east-1.amazoncognito.com
/oauth2/authorize?response_type=code&client_id=1example23456789
&redirect_uri=https://www.example.com
Per individuare il dominio, vai alla pagina della console Domain name (Nome dominio) del bacino d'utenza. Il client_id si trova nella pagina General settings (Impostazioni generali). Usa il callback URL per il parametro redirect_uri. Questa è la URL pagina in cui l'utente verrà reindirizzato dopo un'autenticazione riuscita.