Creazione di un registro utente OIDC in API Manager

Creare un registro utenti OIDC specifico per l'organizzazione quando è richiesta l'autenticazione a più fattori (MFA).

Importante: se utilizzi X (precedentemente noto come Twitter) come provider OIDC, API Connect supporta solo il metodo OAuth 1.0a, pertanto la tua applicazione X deve essere configurata per utilizzare OAuth 1.0a. Altri fornitori di OIDC supportano OAuth 2.0.

API Connect fornisce due metodi per creare un registro utente OIDC in API Designer, come descritto nelle seguenti sezioni:

Utilizzo dell'interfaccia utente per creare un registro utente OIDC

Utilizza l'interfaccia utente di API Designer per creare un registro utenti OIDC specifico per l'organizzazione quando è richiesta l'autenticazione a più fattori (MFA).

  1. Nella pagina di navigazione di API Designer, fare clic su Risorse Risorse.
  2. Fare clic su Registri utente.
  3. Fare clic su Crea e selezionare Registro utente OIDC.
    Importante: non condividere i registri degli utenti tra l 'API Manager e il Consumer Catalog, né tra i siti del Consumer Catalog, qualora sia abilitata la procedura di onboarding self-service o siano previste cancellazioni di account in uno qualsiasi dei siti. È opportuno creare registri utenti distinti per ciascuno di essi, anche se tali registri puntano allo stesso provider di autenticazione backend (ad esempio, un server LDAP ). Questa separazione consente al Catalogo Consumatori di mantenere indirizzi e-mail univoci in tutto il catalogo, senza che API Manager debba soddisfare lo stesso requisito. Inoltre, evita che gli utenti cancellino i propri account dal Catalogo consumatori, compromettendo così il loro accesso all'API Manager.
  4. Nella pagina Crea registro utenti OIDC , utilizzare i campi in ciascuna delle seguenti sezioni per configurare le impostazioni del Registro di sistema e fare clic su Crea.

    Molte delle impostazioni del registro sono preconfigurate per semplificare le fasi di configurazione.

    Tipo di provider
    Utilizzare le impostazioni nella Tabella 1 per definire il tipo di fornitore.
    Tabella 1. Impostazioni relative al tipo di fornitore
    Campo Descrizione
    Tipo di provider Provider OIDC. Selezionare uno dei seguenti provider OIDC supportati:
    • Linkedin
    • GitHub
    • Google
    • LinkedIn
    • Margine di flessibilità
    • X (precedentemente noto come Twitter)
    • Windows™ Live
    • OIDC standard (il valore predefinito consente di specificare un altro fornitore)
    Titolo Fornire un nome descrittivo per scopi di visualizzazione.
    Nome Generato automaticamente. Questo nome viene utilizzato nei comandi CLI per fare riferimento al registro. Per ulteriori dettagli sui comandi CLI relativi alla gestione dei registri degli utenti, consultare la documentazione di riferimento della CLI del toolkit.
    Riepilogo Fornire una breve descrizione del nuovo registro.
    Indirizzo email obbligatorio Seleziona questa opzione se è necessario fornire un indirizzo e-mail durante la procedura di registrazione dell'utente. Se selezionato, il provider di identità di origine deve fornire l'indirizzo email come parte del processo di autenticazione durante l'onboarding.
    Nota: per l'onboarding su Cloud Manager o sul Catalogo consumatori non è richiesto, di default, un indirizzo e-mail.
    Indirizzo e-mail unico Selezionare questa opzione se gli indirizzi e-mail devono essere univoci all'interno del registro utenti.
    Nota: ogni account presente nel Catalogo consumatori, compresi quelli appartenenti a registri utenti diversi per lo stesso sito, deve avere un indirizzo e-mail univoco, compreso l'account amministratore del sito.
    Endpoint provider
    Generato automaticamente per la maggior parte dei provider supportati. Nel campo Authorization Endpoint, digitare l' URL dell'endpoint di autorizzazione del provider.
    Endpoint token
    Compilare le impostazioni come descritto nella Tabella 2.
    Tabella 2. Impostazioni dell'endpoint dei token
    Campo Descrizione
    URL Preconfigurato per la maggior parte dei provider OIDC supportati. Digitare l' URL dell'endpoint del token del provider.
    TLS Selezionare il profilo client " TLS " per l'endpoint del token (OIDC deve essere configurato per utilizzare TLS ). L'impostazione predefinita è il profilo client " TLS ".
    Endpoint UserInfo
    Completare le impostazioni come descritto nella Tabella 3.
    Tabella 3. UserInfo Impostazioni degli endpoint
    Campo Descrizione
    URL Preconfigurato per la maggior parte dei provider OIDC supportati. Digitare l' URL dell'endpoint userinfo del provider.
    Per LinkedIn, l'endpoint è cambiato e ora utilizza il seguente valore:
    https://api.linkedin.com/v2/me
    Se precedentemente si configura il registro OIDC utilizzando il protocollo OIDC LinkedIn legacy, non è necessario specificare questo endpoint.
    TLS Selezionare il profilo client " TLS " per l'endpoint userinfo (OIDC deve essere configurato per utilizzare TLS ). L'impostazione predefinita è il profilo client " TLS ".
    Endpoint e-mail
    Obbligatorio per il precedente protocollo OIDC LinkedIn .

    A causa delle modifiche apportate a LinkedIn, sono cambiate anche le impostazioni di configurazione del registro OIDC in API Connect. Se si sta configurando un nuovo registro OIDC per LinkedIn, si può lasciare vuoto il campo Endpoint e-mail.

    Se in precedenza è stato configurato un registro OIDC da utilizzare con il protocollo OIDC LinkedIn legacy, aggiornare la propria configurazione fornendo le impostazioni dell'endpoint email come descritto nella Tabella 4. La nuova impostazione è richiesta per il protocollo OIDC LinkedIn legacy.

    Tabella 4. Impostazioni degli endpoint e-mail
    Campo Descrizione
    URL Per il protocollo OIDC LinkedIn legacy, questo campo assume il seguente valore predefinito:
    https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))
    È possibile sovrascrivere l'impostazione immettendo un nuovo valore.
    TLS Selezionare il profilo client " TLS " per l'endpoint userinfo (OIDC deve essere configurato per utilizzare TLS ). L'impostazione predefinita è il profilo client " TLS ".
    Endpoint JWKS
    Completare le impostazioni come descritto nella Tabella 5.
    Tabella 5. Impostazioni degli endpoint JWKS
    Campo Descrizione
    URL Digitare l' URL dell'endpoint di sola lettura che contiene le informazioni sulle chiavi pubbliche in formato JWKS.
    TLS Selezionare il profilo client " TLS " per l'endpoint userinfo (OIDC deve essere configurato per utilizzare TLS ). L'impostazione predefinita è il profilo client " TLS ".
    Disconnetti
    È possibile configurare uno dei seguenti tipi di supporto per la disconnessione, ma non entrambi:
    • Reindirizzamento al logout:

      Consente di specificare cosa vede l'utente dopo aver effettuato il logout da API Connect; ad esempio, potresti voler "reindirizzare" l'utente all'endpoint di logout del provider OIDC o a un altro indirizzo. Quando l'utente esce da API Connect, il browser viene reindirizzato all'indirizzo URL specificato per l'ulteriore elaborazione da parte dell' URL specificato.

    • Disconnessione avviata da RP:

      Fornisce un modulo più sicuro in conformità con il profilo "Connect RP-Initiated Logout" dell' OpenID1.0. Quando l'utente esce da API Connect, API Connect invia una richiesta POST all'endpoint specificato URL per cancellare la sessione dell'utente. Con questa opzione, è possibile specificare facoltativamente anche un endpoint di reindirizzamento per la disconnessione dall'RP: URL.

    Completare le impostazioni come descritto nella Tabella 6.

    Tabella 6. Opzioni di disconnessione
    Campo Descrizione
    URL di reindirizzamento disconnessione Facoltativo. Fornire un URL URL per reindirizzare il browser quando l'utente esce dal sistema API Connect.

    Se si utilizza questa opzione, non attivare la funzione di disconnessione dell'OIDC RP.

    Abilita OIDC RP logout Selezionare questa opzione per utilizzare la procedura di disconnessione avviata dall'RP anziché il reindirizzamento di disconnessione convenzionale.

    Se si utilizza questa opzione, non specificare un URL di reindirizzamento per la disconnessione URL. Con la disconnessione avviata dall'RP, è possibile specificare facoltativamente un URL di reindirizzam URL per la disconnessione dall'RP.

    URL endpoint che l'RP invierà una richiesta POST Fornire l' URL e dell'endpoint in cui verrà eseguita la richiesta POST; ad esempio, l'endpoint di autorizzazione del provider OpenID.
    TLS Selezionare il profilo « TLS » da utilizzare quando si invia la richiesta POST all'endpoint del provider « OpenID ».
    URL Endpoint di logout RP Facoltativo. Indicare un URL ( URL ) a cui il provider OIDC possa reindirizzare l'utente al termine dell'operazione di disconnessione. L' URL e svolge la funzione descritta nel profilo "Connect post_logout_redirect_uri RP-Initiated Logout" ( 1.0 ) disponibile all'indirizzo OpenID.
    Includere refresh_token nella procedura di disconnessione Facoltativo. Consenti l'inclusione del refresh_token, oltre all'id_token_hint, secondo il profilo OpenID Connect RP-Initiated Logout 1.0.
    Informazioni del client
    Completare le impostazioni come descritto nella Tabella 7.
    Tabella 7. Impostazioni relative alle informazioni sul cliente
    Campo Descrizione
    ID client Fornire l'ID client dell'applicazione registrata con il provider OIDC selezionato.
    Segreto client Fornire il segreto client dell'applicazione registrata con il provider OIDC selezionato. Questo campo è facoltativo quando si crea una directory OIDC di tipo Standard e si imposta il Metodo di autenticazione client su Corpo del modulo codificato dei dati.

    Se non si utilizza il segreto client, assicurarsi che l'autenticazione reciproca ( TLS ) sia configurata con il provider OIDC. Per abilitare l' TLS e reciproca, creare un profilo TLS e includerlo nella configurazione del registro utenti OIDC.

    Tipo di risposta Preconfigurato per la maggior parte dei provider OIDC supportati. Specificare il tipo di dati della risposta che verrà ricevuta dal provider OIDC.
    Ambiti Preconfigurato per la maggior parte dei provider OIDC supportati. Specificare l'ambito di accesso per il provider OIDC.
    Metodo di autenticazione client Preconfigurato per la maggior parte dei provider OIDC supportati. Selezionare il metodo di autenticazione da utilizzare con il provider OIDC. Le opzioni sono:
    • Schema di autenticazione di base Http
    • Corpo del formato codificato dei dati
    Supporto aggiuntivo
    Facoltativo. Selezionare i parametri di protezione aggiuntivi descritti nella Tabella 8.
    Tabella 8. Opzioni di sicurezza aggiuntive
    Parametro di sicurezza Impostazione del nome per CLI Descrizione
    NONCE nonce Abilitare l'estensione NONCE per evitare che le richieste compromesse vengano riutilizzate (riprodotte).
    PKCE (Proof Key for Code Exchange) pkce Abilitare l'estensione PKCE per consentire ai client pubblici di mitigare la minaccia di intercettazione del codice di autorizzazione.
    Funzioni avanzate
    Facoltativo. Selezionare le funzionalità avanzate descritte nella Tabella 9.
    Tabella 9. Funzioni avanzate
    Etichetta funzione / UI Impostazione del nome per CLI Descrizione
    Procedura di avvio automatica auto_onboard Consenti agli utenti di eseguire le chiamate alle API senza accedere prima, a condizione che presentino un token valido emesso dal provider OIDC.
    Nota: non si applica alle organizzazioni consumer.
    Utilizza sempre l'endpoint userinfo userinfo Configura il Registro utenti OIDC per recuperare sempre i dati utente dall'endpoint userinfo, se popolato.
    Utilizza il portale come endpoint per il traffico del provider OIDC esterno proxy_redirect Durante l'autenticazione degli utenti, reindirizzare il provider OIDC esterno affinché comunichi con il Catalogo dei consumatori anziché con l'API Manager. Se abilitato, l'URI di reindirizzamento per il Catalogo dei consumatori deve essere impostato su /ibm_apim/oidcredirect. Per ulteriori dettagli, consultare la sezione URI di reindirizzamento.
    Restituisci token di accesso di terze parti proxy_access_token Includi il token di accesso OIDC di terzi nella risposta.
    Nota: abilitare questa impostazione solo per scopi di debug.

    Questa impostazione non è consigliata per l'utilizzo in un ambiente di produzione. Quando questa opzione è abilitata, la dimensione del token aumenterà ogni volta che viene inviata una richiesta a API Connect utilizzando il token. La dimensione maggiore del token potrebbe superare il limite previsto dal protocollo HTTP, causando un errore di tipo " ERR_HTTP2_PROTOCOL_ERROR " o "ERR_CONNECTION_CLOSED".

    È possibile risolvere il problema delle dimensioni abilitando inoltre l'invio di access_token e id_token di terze parti come claim separati, in modo che i token di terze parti non vengano aggiunti all'access_token emesso API Connect.

    Restituire id_token di terze parti proxy_id_token Includere l'OIDC id_token di terzi nella risposta.
    Nota: abilitare questa impostazione solo per scopi di debug.

    Questa impostazione non è consigliata per l'utilizzo in un ambiente di produzione. Quando questa opzione è abilitata, la dimensione del token aumenterà ogni volta che viene inviata una richiesta a API Connect utilizzando il token. La dimensione maggiore del token potrebbe superare il limite previsto dal protocollo HTTP, causando un errore di tipo " ERR_HTTP2_PROTOCOL_ERROR " o "ERR_CONNECTION_CLOSED".

    È possibile risolvere il problema delle dimensioni abilitando inoltre l'invio di access_token e id_token di terze parti come claim separati, in modo che i token di terze parti non vengano aggiunti all'access_token emesso API Connect.

    Restituisci gli access_token e gli id_token di terze parti come claim separati proxied_token_as_separate_claim Includi i token OIDC di terze parti (il proxy_access_token e proxy_id_tokenil ) nella risposta come claim separati, invece di aggiungerli all'access_token emesso da API Connect. Per utilizzare questa funzione, è necessario abilitare almeno una delle opzioni " Restituisci token di accesso di terze parti" e "Restituisci id_token di terze parti ".

    Separare i token di terze parti impedisce loro di influire sulle dimensioni dell'access_token emesso da API Connect.

    Inoltro token token_relay Consenti a access_token/refresh_token di inviare il reindirizzamento 302 per il logout
    POST Userinfo post_userinfo Se supportato dal provider OIDC, utilizzando il metodo HTTP POST quando si contatta l'endpoint userinfo.
    Nota: non tutti i provider OIDC supportano POST. Assicurarsi che il provider OIDC lo supporti prima di abilitare la funzione.
    Utilizza l'impostazione di scadenza del token APIC di IBM® dal cloud override_provider_ttl Sovrascrivi l'impostazione di scadenza del token del provider OIDC con le impostazioni di scadenza del token di accesso e del token di aggiornamento configurate in API Connect. Per informazioni sulla configurazione del token di accesso e sulle impostazioni di scadenza del token di aggiornamento in API Connect, vedi Configurazione dei timeout per i token di accesso e i token di aggiornamento.
    Disabilita verifica hash (solo CLI) disable_hash_verification Disabilita at_hash, c_hash
    Associazione utenti
    Completare le impostazioni come descritto nella Tabella 10.
    Nota: i campi Associazione utente sono preconfigurati per la maggior parte dei provider OIDC supportati per ridurre al minimo i potenziali errori; prestare attenzione quando si modificano le impostazioni. Per l'opzione OIDC standard , contattare il provider OID per ottenere i dettagli dei campi.
    Tabella 10. Impostazioni di mappatura degli utenti
    Campo Descrizione
    Nome utente Il nome del campo nel token di risposta che contiene il nome utente dell'utente.
    Nota: il campo Nome utente deve essere univoco per questo registro OIDC, poiché identifica l'utente nel sistema e non può essere modificato.
    E-mail Il nome del campo nel token di risposta contenente l'indirizzo email dell'utente.
    Nome Il nome del campo nel token di risposta che contiene il nome fornito dell'utente.
    Cognome Il nome del campo nel token di risposta che contiene il cognome dell'utente.
    URI di reindirizzamento
    La sezione Redirect URI elenca gli endpoint a cui il server di autorizzazione OIDC reindirizzerà il codice di autorizzazione. Esiste un endpoint per ogni tipo di organizzazione API Connect : amministrazione cloud, organizzazione provider e organizzazione consumer. L'endpoint di reindirizzamento è richiesto quando un utente registra la propria applicazione con il provider OIDC. Ad esempio, se questo registro utenti OIDC viene utilizzato da un'organizzazione provider, l'utente deve registrare l'endpoint di reindirizzamento dell'organizzazione provider con il provider OIDC. Questi campi di sola lettura vengono forniti per copiare i valori dell'endpoint come richiesto.
    Nota: se il Catalogo dei consumatori è accessibile pubblicamente e si seleziona proxy_redirect l'opzione, è necessario configurare il proprio provider OIDC in modo che utilizzi il seguente URI di reindirizzamento:
    • Percorso URI: /ibm_apim/oidcredirect
    • Esempio completo di ` URL `: https://<your-developer-portal-domain>/ibm_apim/oidcredirect
    dove:

    <your-developer-portal-domain> è il nome host effettivo del tuo Catalogo consumatori accessibile al pubblico; ad esempio, developer.example.com.

    Questa configurazione garantisce che il provider OIDC possa reindirizzare correttamente gli utenti autenticati al Catalogo dei consumatori nell'ambito del flusso di accesso.

Abilitazione del registro utenti OIDC

Seguire la procedura riportata di seguito per abilitare il registro utenti per un catalogo specifico nel Catalogo consumatori. Ripetere questa procedura per ciascun catalogo che utilizzerà il nuovo registro.

  1. Nel riquadro di navigazione, fare clic su Icona Gestisci Gestisci.
  2. Selezionare il catalogo per cui si abiliterà il nuovo registro utente OIDC.
  3. Nel quadro di navigazione, fare clic su scheda Impostazioni catalogo.
  4. Nella pagina Impostazioni , fare clic su Onboarding.
  5. Nella pagina Onboarding , fare clic su Modifica nella sezione Registri utenti del catalogo .
  6. Nella pagina Modifica registro utente , seleziona il nuovo registro utente OIDC da abilitare per il catalogo.
  7. Fare clic su Salva.

Utilizzo della CLI per creare un registro utenti OIDC

Utilizza la CLI developer toolkit per creare un registro utente OIDC specifico dell'organizzazione quando è richiesta l'autenticazione a più fattori (MFA).

Importante: non condividere i registri degli utenti tra l 'API Manager e il Consumer Catalog, né tra i siti del Consumer Catalog, qualora sia abilitata la procedura di onboarding self-service o siano previste cancellazioni di account in uno qualsiasi dei siti. È opportuno creare registri utenti distinti per ciascuno di essi, anche se tali registri puntano allo stesso provider di autenticazione backend (ad esempio, un server LDAP ). Questa separazione consente al Catalogo Consumatori di mantenere indirizzi e-mail univoci in tutto il Catalogo, senza che API Manager debba soddisfare lo stesso requisito. Inoltre, evita che gli utenti cancellino i propri account dal Catalogo consumatori, compromettendo così il loro accesso all'API Manager.
Configurare un registro utenti OIDC definendo prima i dettagli del registro in un file di configurazione. A questo punto, si utilizza un comando da riga di comando per creare il registro, passando il file di configurazione come parametro. Per rendere il registro disponibile nel Catalogo dei consumatori, è necessario abilitarlo nel catalogo associato.
Nota:
  • Un registro OIDC non può essere utilizzato per proteggere le API sul gateway.
  • Se si utilizza un registro utenti OIDC per il login, il server di gestione gestisce l'interazione con il provider OIDC di terze parti. Il server di gestione è considerato l'applicazione dal punto di vista del fornitore OIDC di terze parti. Pertanto, l'endpoint di reindirizzamento OIDC sul server di gestione, che il server di autorizzazione di terze parti utilizza per inviare il token, deve essere accessibile al provider OIDC. Per garantire le funzioni di login, è necessario consentire l'accesso se l'ambiente API Connect è protetto da un firewall. Questo vale per il login degli utenti sia su API Manager che su Cloud Manager.
  • Se per l'accesso degli utenti al Catalogo consumatori viene utilizzato il registro utenti OIDC e il Catalogo consumatori si trova nella DMZ, è possibile utilizzare la proxy_redirect proprietà. Ciò consente al Catalogo dei consumatori di fungere da punto finale per la gestione della comunicazione tramite proxy tra il provider OIDC e API Connect.
  • Quando registri la tua applicazione presso il provider OIDC di terze parti, devi fornire l'URI di reindirizzamento OIDC associato, ad esempio https://consumer.mycompany.com/consumer-api/oauth2/redirect. Tuttavia, non è possibile accedere a queste informazioni finché non si crea il registro degli utenti OIDC in API Connect. Per prima cosa, registrate la vostra domanda senza queste informazioni e poi aggiornatele in seguito, come indicato nelle istruzioni di questa pagina.

Accesso al server di gestione

Prima di creare un registro utente OIDC, è necessario accedere al server di gestione dalla CLI. Utilizzare il seguente comando:
apic login --server mgmt_endpoint_url --username user_id --password password --realm provider/identity_provider
È possibile stabilire quale provider di identità utilizzare nel parametro --realm immettendo il seguente comando per visualizzare un elenco di tutti i provider di identità disponibili (non è necessario essere collegati per utilizzare questo comando):
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm
Ad esempio:
apic identity-providers:list --scope provider --server platform_api_endpoint_url --fields title,realm 
total_results: 2
results:
  - title: API Manager User Registry
    realm: provider/default-idp-2
  - title: Corporate LDAP user registry
    realm: provider/corporate-ldap
Il valore title consente di determinare quale provider di identità utilizzare; è quindi possibile copiare il parametro --realm corrispondente direttamente dal valore realm visualizzato. Per tutti i provider di identità creati dall'amministratore dopo API Connect l'installazione, i nomi vengono stabiliti al momento della creazione. Il registro utente locale API Manager predefinito per l'accesso come membro di un'organizzazione provider è default-idp-2.

Per i dettagli completi del comando apic login , consultare Accesso a un server di gestione.

Definizione della configurazione del registro OIDC

Definire la configurazione del registro utenti OIDC in un file YAML. Come minimo, il file YAML deve includere le impostazioni del seguente elenco. Per ulteriori impostazioni, consultare le tabelle fornite con la versione UI della procedura in questo argomento.
title: registry_title
integration_url: oidc_integration_url
case_sensitive: case_sensitivity_setting
email_required: true_or_false
email_unique_if_exist: true_or_false
configuration:
  client_id: 'app_client_id'
  client_secret: 'my-client-secret'
  provider_type: oidc_provider_type
dove:
  • registry_title è il titolo descrittivo scelto per il registro utenti.
  • oidc_integration_url è l' URL di integrazione OIDC nella configurazione di API Connect. È possibile determinare l' URL di integrazione OIDC utilizzando il seguente comando CLI:
    apic integrations:list --server mgmt_endpoint_url --subcollection user-registry
  • case_sensitivity_setting determina se il registro utente è sensibile al maiuscolo / minuscolo. I valori validi sono:
    • true
    • false
    Per garantire una corretta gestione delle maiuscole nei nomi utente, assicurati che l'impostazione relativa alla distinzione tra maiuscole e minuscole qui sia in linea con quella del provider OIDC di backend:
    • Impostare case_sensitive su solo true se il provider OIDC di backend supporta la distinzione tra maiuscole e minuscole.
    • Impostare case_sensitive su false se il provider OIDC di backend non supporta la distinzione tra maiuscole e minuscole.
    Nota: una volta aggiunto almeno un utente al registro, non è più possibile modificare questa impostazione.
  • email_required determina se un indirizzo email è richiesto come parte del processo di onboarding dell'utente. I valori validi sono:
    • true
    • false
    Se impostato su true, il provider di identità di origine deve fornire l'indirizzo email come parte del processo di autenticazione durante l'onboarding.
    Nota: per l'onboarding su Cloud Manager o API Manager non è richiesto di default un indirizzo e-mail, mentre è necessario per l'onboarding su Consumer Catalog.
  • email_unique_if_exist determina se gli indirizzi email devono essere univoci all'interno del registro utenti. I valori validi sono:
    • true
    • false
    Nota: ogni account presente nel Catalogo consumatori, compresi quelli appartenenti a registri utenti diversi per lo stesso sito, deve avere un indirizzo e-mail univoco, compreso l'account amministratore del sito.
  • app_client_id è l'ID client dell'applicazione registrata con il server OIDC e deve essere in formato stringa.
  • my - client - secret è il segreto client dell'applicazione registrata con il server OIDC e deve essere in formato stringa.
  • oidc_provider_type è il tipo di provider OIDC; specificare uno dei seguenti valori:
    • facebook
    • github
    • google
    • linkedin
    • slack
    • twitter
    • windows_live
    • standard
      Nota:
      • Utilizzare il tipo di provider twitter se il provider OIDC è X (precedentemente noto come Twitter).
      • Utilizzare il tipo di provider standard per qualsiasi provider OIDC conforme allo standard OIDC.
        Se il tipo di provider è standard, è necessario includere le seguenti proprietà aggiuntive nella sezione configuration del file YAML:
        authorization_endpoint: 'oidc_auth_endpoint'
        token_endpoint:
          endpoint: 'oidc_token_endpoint'
        dove:
        • oidc_auth_endpoint è l'endpoint di autorizzazione sul server OIDC e deve essere in formato stringa.
        • oidc_token_endpoint è l'endpoint token sul server OIDC e deve essere in formato stringa.

Configurazioni OIDC predefinite

Per ogni tipo di provider OIDC, API Connect assume una configurazione predefinita, ma è possibile sovrascrivere le proprietà di configurazione predefinite nel file YAML.

Nota: gli endpoint sono soggetti a modifica; quando si crea un registro, è necessario verificare l'endpoint predefinito fornito da API Connect.

API Connect si impegna al massimo per aggiornare gli endpoint per i tipi di registro utente OIDC noti. Tuttavia, il provider OIDC può modificare l'endpoint in qualsiasi momento. È responsabilità del cliente confermare che gli endpoint forniti da API Connect sono supportati dal provider OIDC e aggiornare la configurazione OIDC come necessario.

Le configurazioni predefinite sono le seguenti:

  • Linkedin
    authorization_endpoint: 'https://www.facebook.com/v3.1/dialog/oauth'
    token_endpoint:
      endpoint: 'https://graph.facebook.com/v3.1/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://graph.facebook.com/me'
    scope: email public_profile
    field_mapping:
      username: email
      email: email
      last_name: last_name
      first_name: first_name
  • GitHub
    authorization_endpoint: 'https://github.com/login/oauth/authorize'
    token_endpoint:
      endpoint: 'https://github.com/login/oauth/access_token'
    userinfo_endpoint:
      endpoint: 'https://api.github.com/user'
    scope: 'read:user user:email'
    field_mapping:
      username: login
      email: email
      last_name: name
      first_name: name
  • Google
    authorization_endpoint: 'https://accounts.google.com/o/oauth2/v2/auth'
    token_endpoint:
      endpoint: 'https://www.googleapis.com/oauth2/v4/token'
    scope: openid profile email
    field_mapping:
      username: email
      email: email
      last_name: family_name
      first_name: given_name
    
  • LinkedIn

    Alcune impostazioni differiscono tra la configurazione legacy e la configurazione più recente. Accertarsi di utilizzare le impostazioni corrette per il protocollo LinkedIn che si sta utilizzando.

    • Nuovo protocollo OIDC:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
        credential_location: form_body
        field_mapping:
          email: email
          username: name
          first_name: given_name
          last_name: family_name
        scope: openid profile email
        token_endpoint:
          endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
        userinfo_endpoint:
          endpoint: 'https://api.linkedin.com/v2/me'
    • Protocollo OIDC legacy:
      authorization_endpoint: 'https://www.linkedin.com/oauth/v2/authorization'
      token_endpoint:
        endpoint: 'https://www.linkedin.com/oauth/v2/accessToken'
      userinfo_endpoint:
        endpoint: 'https://api.linkedin.com/v2/me'
      email_endpoint:
        endpoint: 'https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))'
      scope: r_liteprofile r_emailaddress
      field_mapping:
        username: emailAddress
        email: emailAddress
        last_name: localoizedLastName
        first_name: localizedFirstName
      credential_location: form_body
  • Margine di flessibilità
    authorization_endpoint: 'https://slack.com/oauth/authorize'
    token_endpoint:
      endpoint: 'https://slack.com/api/oauth.access'
    userinfo_endpoint:
      endpoint: 'https://slack.com/api/users.identity'
    scope: identity.basic identity.email
    field_mapping:
      username: user.email
      email: user.email
      last_name: user.name
      first_name: user.name
  • X (precedentemente noto come Twitter)
    request_endpoint: https://api.x.com/oauth/request_token'
    authorization_endpoint: https://api.x.com/oauth/authenticate'
    token_endpoint: 
        endpoint: 'https://api.x.com/oauth/access_token'
    userinfo_endpoint:
        endpoint: 'https://api.x.com/1.1/account/verify_credentials.json'
    oauth_signature_method: 'HMAC-SHA1'
    field_mapping: 
        email: email
        first_name: name
        last_name: name
        username: screen_name
  • Windows Live
    authorization_endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/authorize'
    token_endpoint:
      endpoint: 'https://login.microsoftonline.com/common/oauth2/v2.0/token'
    scope: openid offline_access profile email
    field_mapping:
      email: email
      username: preferred_username
      first_name: name
      last_name: name
    
  • Standard
    
    response_type: code
    scope: openid
    field_mapping:
      username: sub
      email: email
      last_name: family_name
      first_name: given_name
    credential_location: auth_header
    Anche se questa è la configurazione predefinita per il tipo di provider standard , è necessario contattare il proprio fornitore OIDC per ottenere i dettagli dei campi che è necessario definire.

Creazione del registro utente OIDC

Per creare il tuo registro utente OIDC, utilizza il seguente comando CLI:
apic user-registries:create --server mgmt_endpoint_url --org organization_name oidc_config_file
dove:
  • mgmt_endpoint_url è l' URL dell'endpoint API della piattaforma.
  • nome_organizzazione è il valore della proprietà name della tua organizzazione provider.
  • oidc_config_file è il nome del file YAM che definisce la configurazione del registro utenti OIDC.
Al completamento della creazione del registro, il comando visualizza i seguenti dettagli di riepilogo:
registry_name registry_url
Per impostazione predefinita, registry_name deriva dalla proprietà title nel file YAML di configurazione, ma è possibile sovrascriverlo includendo una proprietà name nel file. Il registry_url è un URL interno che API Connect assegna al registro.
Una volta creato il registro utenti OIDC, è necessario aggiornare la registrazione dell'applicazione con il provider OIDC di terze parti per includere l'URI di reindirizzamento OIDC; è possibile ottenere queste informazioni utilizzando il seguente comando, che visualizza i dettagli del registro nella finestra dei comandi:
apic user-registries:get --server mgmt_endpoint_url --org organization_name registry_name --output -
Il valore oidc_redirect_uri richiesto si trova nella sezione consumer: ; ad esempio:
consumer:
  oidc_redirect_uri: https://consumer.mycompany.com/consumer-api/oauth2/redirect

Abilitazione del tuo registro OIDC in un catalogo

Per rendere disponibile il tuo registro OIDC per l'onboarding e l'autenticazione degli utenti del Consumer Catalog, devi abilitarlo nel catalogo associato a quel Consumer Catalog. Completa i seguenti passi:
  1. Determinare l' URL del registro utenti OIDC utilizzando il seguente comando:
    apic user-registries:list --server mgmt_endpoint_url --org organization_name
  2. Immettere il seguente comando (il carattere trattino finale indica che il comando prende l'input dalla riga comandi):
    apic configured-catalog-user-registries:create --server mgmt_endpoint_url --org organization_name --catalog catalog_name -
    dove catalog_name è il valore delnameproprietà del catalogo richiesto. Il comando visualizza
    Reading CONFIGURED_CATALOG_USER_REGISTRY_FILE arg from stdin
  3. Immettere i seguenti dati, seguiti da una nuova linea:
    user_registry_url: oidc_registry_url
    dove oidc_registry_url è l' URL del vostro registro OIDC, ottenuto al punto 1.
  4. Premere CTRL D per interrompere l'inserimento dei dati.

Per ulteriori dettagli su tutti i comandi apic user-registriesapic configured-catalog-user-registries e, consultare la documentazione di riferimento della CLI del toolkit.

È inoltre possibile eseguire le operazioni descritte in questo argomento utilizzando le API API Connect REST; consultare la API Connect documentazione delle API REST.