Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Note
Microsofts autentiseringsbibliotek (MSAL) för Go är ett nytt tillägg till MSAL-biblioteksfamiljen. Det har gjorts tillgängligt i produktionsklar förhandsversion för att mäta kundernas intresse och för att samla in feedback från communityn. Vi välkomnar alla deltagare (se riktlinjer för bidrag i bibliotekslagringsplatsen) för att hjälpa oss att förbättra biblioteket.
Microsofts autentiseringsbibliotek (MSAL) för Go är en del av Microsofts identitetsplattform för utvecklare. Du kan logga in användare eller appar med Microsoft identiteter (Azure AD- och Microsoft-konton) och hämta token för att anropa API:er som Microsoft Graph eller dina egna API:er som registrerats med Microsofts identitetsplattform. Den skapas med hjälp av branschstandardprotokollen OAuth2 och OpenID Connect.
Den senaste koden finns i grenen dev i biblioteket GitHub lagringsplats.
Installation
Konfigurera Go
Om du vill installera Go går du till den här länken.
Installation av MSAL Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Usage
Innan du använder MSAL Go måste du registrera ditt program med Microsofts identitetsplattform.
Offentlig yta
Bibliotekets offentliga API finns i följande kataloger under apps.
-
confidential– API:et för konfidentiellt program -
public– DET offentliga program-API:et -
cache– Cachegränssnittet som kan implementeras för att tillhandahålla lagring av autentiseringsuppgifter för beständig cache -
managedidentity– API:et för hanterad identitet
Hämtning av token med MSAL Go följer det här allmänna trestegsmönstret. Det kan finnas vissa små skillnader för andra tokenförvärvsflöden. Här är ett grundläggande exempel:
MSAL separerar offentliga och konfidentiella klientprogram. Så skapar du en instans av en
PublicClientApplicationoch enConfidentialClientApplicationoch använder dessa under hela applikationens livslängd.- Initiera en offentlig klient:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Initiera en konfidentiell klient:
// 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"))information om hur du använder program för hanterad identitet finns i Hanterad identitet
MSAL levereras paketerat med ett minnesinternt cacheminne. Det är valfritt att använda cacheminnet, men vi rekommenderar det starkt.
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 }Om det inte finns någon lämplig token i cacheminnet, eller om du väljer att hoppa över det här steget, skickar du en begäran till Azure AD för att hämta en token. Det finns olika metoder för att hämta en token baserat på din programtyp och ditt scenario. Här demonstrerar vi ett platshållarflöde.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
Du kan visa utvecklarexempelapparna om hur du använder MSAL Go med olika programtyper i olika scenarier.
Utgivningar
En fullständig lista över biblioteksversioner finns i avsnittet Versioner i bibliotekets källkodslagringsplats.
Gemenskapshjälp och support
Vi använder Stack Overflow för att arbeta med communityn för att stödja Azure Active Directory och dess SDK:er, inklusive den här! Vi rekommenderar starkt att du ställer dina frågor om Stack Overflow. Du kan också bläddra bland befintliga frågor för att se om någon har stött på problemet tidigare. Använd taggen azure-ad-msal när du ställer dina frågor.
Om du hittar en bugg eller har en funktionsbegäran öppnar du ett nytt problem i avsnittet Problem .
Skicka feedback
Om du har någon feedback från biblioteket måste du skicka in dina funktionsförfrågningar och felrapporter på GitHub.
Säkerhetsbibliotek
Det här biblioteket styr hur användare loggar in och får åtkomst till tjänster. Vi rekommenderar att du använder den senaste versionen av vårt bibliotek i din app när det är möjligt. Vi använder semantisk versionshantering så att du kan kontrollera risken med att uppdatera din app. Om du till exempel alltid laddar ned det senaste delversionsnumret (t.ex. x.y.x) får du de senaste säkerhets- och funktionsförbättringarna, men vår API-yta förblir densamma. Du kan alltid se den senaste versionen och viktig information under fliken Versioner på GitHub.
Säkerhetsrapportering
Om du hittar ett säkerhetsproblem med våra bibliotek eller tjänster kan du rapportera det till secure@microsoft.com med så mycket information som möjligt. Ditt bidrag kan vara berättigat till en belöning via Microsoft Bounty-programmet. Publicera inte säkerhetsproblem på GitHub Issues eller någon annan offentlig webbplats. Vi kontaktar dig strax efter att vi fått informationen. Vi rekommenderar att du får meddelanden om när säkerhetsincidenter inträffar genom att besöka den här sidan och prenumerera på säkerhetsrådgivningsaviseringar.