Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Note
Identity a ověřování Microsoftu (MSAL) pro Go je novým doplňkem řady knihoven MSAL. Tato verze byla zpřístupněna v produkční verzi Preview, aby se změřila zájem zákazníků a shromáždila zpětnou vazbu od komunity. Vítáme všechny přispěvatele (viz pokyny pro přispívání v úložišti knihoven), abychom mohli knihovnu vylepšit.
Identity a ověřování Microsoftu (MSAL) pro Go je součástí Microsoft identity platform pro vývojáře. Umožňuje přihlásit se uživatele nebo aplikace s identitami Microsoft (Azure AD a účty Microsoft) a získat tokeny pro volání rozhraní API, jako jsou Microsoft Graph nebo vlastní rozhraní API zaregistrovaná v Microsoft identity platform. Je postaveno na standardních oborových protokolech OAuth2 a OpenID Connect.
Nejnovější kód se nachází ve dev větvi v úložišti knihovny GitHub.
Instalace
Nastavení Go
Pokud chcete nainstalovat Go, přejděte na tento odkaz.
Instalace MSAL pro Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Využití
Než začnete používat MSAL Go, budete muset aplikaci zaregistrovat v Microsoft identity platform.
Veřejný povrch
Veřejné rozhraní API knihovny najdete v následujících adresářích v části apps.
-
confidential– Důvěrné rozhraní API aplikace -
public– Veřejné aplikační API -
cache– Rozhraní mezipaměti, které lze implementovat pro zajištění perzistentního úložiště mezipaměti pro přihlašovací údaje -
managedidentity– Rozhraní API spravované identity
Získání tokenů pomocí MSAL Go se řídí tímto obecným vzorem tří kroků. U jiných toků získávání tokenů může docházet k mírným rozdílům. Tady je základní příklad:
MSAL odděluje veřejné a důvěrné klientské aplikace. Takže byste vytvořili instanci objektu
PublicClientApplicationaConfidentialClientApplicationpoužívali ji po celou dobu životnosti vaší aplikace.- Inicializace veřejné klientské aplikace:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Inicializace důvěrné klientské aplikace:
// 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"))informace o používání aplikace využívající spravovanou identitu naleznete v tématu spravovaná identita
Knihovna MSAL obsahuje mezipaměť v paměti. Využití mezipaměti je volitelné, ale důrazně bychom ji doporučili.
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 }Pokud v mezipaměti není vhodný token nebo se rozhodnete tento krok přeskočit, odešlete žádost o získání tokenu Azure AD. Existují různé metody získání tokenu na základě typu a scénáře vaší aplikace. Tady předvedeme zástupný tok.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
Ukázkové aplikace pro vývojáře si můžete prohlédnout, jak používat MSAL Go s různými typy aplikací v různých scénářích.
Vydání
Úplný seznam vydaných verzí knihovny najdete v části Vydané verze v úložišti zdrojového kódu knihovny.
Nápověda a technická podpora komunity
Stack Overflow používáme ke spolupráci s komunitou na podpoře Azure Active Directory a jejích sad SDK, včetně této. Důrazně doporučujeme, abyste své dotazy pokládali na Stack Overflow. Můžete také procházet existující otázky a zjistit, jestli se někdo dříve s problémem setkal. Při kladení otázek prosím použijte azure-ad-msal značku.
Pokud najdete chybu nebo máte žádost o funkci, otevřete nový problém v části Problémy .
Odeslat názor
Pokud máte zpětnou vazbu ke knihovně, nezapomeňte odeslat žádosti o funkce a hlášení o chybách na GitHub.
Bezpečnostní knihovna
Tato knihovna určuje, jak se uživatelé přihlašují a přistupují ke službám. Pokud je to možné, doporučujeme ve vaší aplikaci používat nejnovější verzi naší knihovny. Používáme sémantickou správu verzí , abyste mohli řídit riziko spojené s aktualizací aplikace. Například stahování nejnovější vedlejší verze (např. x.y.x) zajišťuje, že získáte nejnovější bezpečnostní vylepšení a nové funkce, ale rozhraní API zůstává stejné. Nejnovější verzi a poznámky k verzi najdete na kartě Vydané verze na GitHub.
Hlášení o zabezpečení
Pokud zjistíte problém se zabezpečením našich knihoven nebo služeb, nahlaste ho secure@microsoft.com s co nejvíce podrobnostmi. Vaše odeslání může být způsobilé pro bounty prostřednictvím programu Microsoft Bounty. Nezveřejňujte bezpečnostní problémy na GitHub Issues ani na žádném jiném veřejně přístupném webu. Brzy vás budeme kontaktovat při přijetí informací. Doporučujeme vám dostávat oznámení o výskytu incidentů zabezpečení tak, že navštívíte tuto stránku a přihlásíte se k odběru výstrah poradce pro zabezpečení.