Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Note
Libreria di Autenticazione Microsoft (MSAL) per Go è una nuova aggiunta alla famiglia di librerie MSAL. È stata resa disponibile nell'anteprima pronta per la produzione per misurare l'interesse dei clienti e raccogliere feedback dalla community. Tutti i collaboratori (vedere linee guida per i contributi nel repository di librerie) sono invitati a migliorare la libreria.
Il Libreria di Autenticazione Microsoft (MSAL) per Go fa parte del Microsoft Identity Platform per sviluppatori. Consente di accedere a utenti o app con identità Microsoft (Azure AD e account Microsoft) e ottenere token per chiamare API, ad esempio Microsoft Graph o le proprie API registrate con il Microsoft Identity Platform. Viene compilato usando protocolli OAuth2 e OpenID Connect standard del settore.
Il codice più recente risiede nel dev ramo nella libreria GitHub repository.
Installazione
Configurazione di Go
Per installare Go, visitare questo collegamento.
Installazione di MSAL Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Utilizzo
Prima di usare MSAL Go, è necessario registrare l'applicazione con il Microsoft Identity Platform.
Superficie pubblica
L'API pubblica della libreria si trova nelle seguenti directory sotto apps.
-
confidential- API dell'applicazione riservata -
public- API dell'applicazione pubblica -
cache- Interfaccia della cache che può essere implementata per fornire l'archiviazione della cache di persistenza delle credenziali -
managedidentity- API dell'identità gestita
L'acquisizione di token con MSAL Go segue questo modello generale a tre passaggi. Potrebbero esserci alcune lievi differenze per altri flussi di acquisizione di token. Ecco un esempio di base:
MSAL separa le applicazioni client pubbliche e riservate. Quindi, creeresti un'istanza di
PublicClientApplicationeConfidentialClientApplicatione la useresti per l'intero ciclo di vita dell'applicazione.- Inizializzazione di un client pubblico:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Inizializzazione di un client riservato:
// Initializing the client credential cred, err := confidential.NewCredFromSecret("client_secret") if err != nil { return nil, fmt.Errorf("could not create a cred from a secret: %w", err) } confidentialClientApp, err := confidential.New("client_id", cred, confidential.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))Per usare l'applicazione Managed Identity, vedi Managed Identity
MSAL viene incluso in un pacchetto con una cache in memoria. L'uso della cache è facoltativo, ma è consigliabile.
var userAccount public.Account accounts := publicClientApp.Accounts() if len(accounts) > 0 { // Assuming the user wanted the first account userAccount = accounts[0] // found a cached account, now see if an applicable token has been cached result, err := publicClientApp.AcquireTokenSilent(context.Background(), []string{"your_scope"}, public.WithSilentAccount(userAccount)) accessToken := result.AccessToken }Se nella cache non è presente alcun token appropriato o si sceglie di ignorare questo passaggio, inviare una richiesta a Azure AD per ottenere un token. Esistono diversi metodi per acquisire un token in base al tipo e allo scenario dell'applicazione. In questo caso viene illustrato un flusso segnaposto.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
È possibile visualizzare le app di esempio per sviluppatori su come usare MSAL Go con vari tipi di applicazione in vari scenari.
Rilasci
Per un elenco completo delle versioni della libreria, vedere la sezione Versioni nel repository del codice sorgente della libreria.
Supporto e guida della community
Stack Overflow viene usato per collaborare con la community per supportare Azure Active Directory e gli SDK, incluso questo. È consigliabile porre domande su Stack Overflow. È anche possibile esplorare le domande esistenti per verificare se qualcuno ha riscontrato il problema in precedenza. Usare il azure-ad-msal tag per porre domande.
Se si trova un bug o si dispone di una richiesta di funzionalità, aprire un nuovo problema nella sezione Problemi .
Invia commenti
Se si hanno commenti e suggerimenti sulla libreria, assicurarsi di inviare le richieste di funzionalità e i report sui bug su GitHub.
Libreria di sicurezza
Questa libreria controlla il modo in cui gli utenti accedono e accedono ai servizi. Ti consigliamo di usare la versione più recente della libreria nella tua app, quando possibile. Usiamo il controllo delle versioni semantiche per controllare il rischio associato all'aggiornamento dell'app. Ad esempio, scaricare sempre il numero di versione secondaria più recente (ad esempio x.y.x) garantisce di ottenere i miglioramenti più recenti per la sicurezza e le funzionalità, ma la superficie dell'API rimane invariata. È sempre possibile visualizzare le note sulla versione e sulla versione più recenti nella scheda Versioni di GitHub.
Creazione di report sulla sicurezza
Se si riscontra un problema di sicurezza con le librerie o i servizi, segnalarlo con secure@microsoft.com il maggior numero di dettagli possibile. La segnalazione potrebbe essere idonea a un premio tramite il programma Microsoft Bounty. Non pubblicare problemi di sicurezza su GitHub Issues o su qualsiasi altro sito pubblico. Ti contatteremo poco dopo aver ricevuto le informazioni. È consigliabile ricevere notifiche relative ai casi in cui si verificano eventi imprevisti di sicurezza visitando questa pagina e sottoscrivendo gli avvisi di avviso di sicurezza.