Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Note
Microsoft Authentication Library (MSAL) for Go to nowy dodatek do rodziny bibliotek MSAL. Udostępniono ją w wersji zapoznawczej gotowej do produkcji, aby ocenić zainteresowanie klientów i zebrać opinie od społeczności. Zapraszamy wszystkich współautorów (zobacz wytyczne dotyczące współtworzenia w repozytorium biblioteki), aby pomóc nam ulepszyć bibliotekę.
Microsoft Authentication Library (MSAL) for Go jest częścią Platforma tożsamości Microsoft dla deweloperów. Umożliwia logowanie użytkowników lub aplikacji przy użyciu tożsamości Microsoft (Azure AD i kont Microsoft) oraz uzyskiwanie tokenów w celu wywoływania interfejsów API, takich jak Microsoft Graph lub własnych interfejsów API zarejestrowanych w Platforma tożsamości Microsoft. Jest on tworzony przy użyciu standardowych protokołów OAuth2 i OpenID Connect.
Najnowszy kod znajduje się w gałęzi dev w repozytorium biblioteki w serwisie GitHub.
Instalacja
Konfigurowanie języka Go
Aby zainstalować język Go, odwiedź ten link.
Instalowanie biblioteki MSAL Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Użycie
Przed rozpoczęciem korzystania z biblioteki MSAL dla języka Go należy zarejestrować aplikację na platformie tożsamości firmy Microsoft.
Powierzchnia publiczna
Publiczny interfejs API biblioteki można znaleźć w następujących katalogach w obszarze apps.
-
confidential— Poufny interfejs API aplikacji -
public- Interfejs API aplikacji publicznej -
cache— Interfejs pamięci podręcznej, który można zaimplementować w celu zapewnienia trwałego przechowywania poświadczeń w pamięci podręcznej -
managedidentity- API tożsamości zarządzanej
Uzyskiwanie tokenów za pomocą biblioteki MSAL Go jest zgodne z tym ogólnym wzorcem trzech kroków. Mogą wystąpić niewielkie różnice w przypadku innych przepływów pozyskiwania tokenów. Oto podstawowy przykład:
MSAL rozróżnia publiczne i poufne aplikacje klienckie. Zatem należy utworzyć instancję
PublicClientApplicationiConfidentialClientApplicationoraz używać jej przez cały cykl życia aplikacji.- Inicjowanie klienta publicznego:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Inicjalizowanie klienta poufnego:
// 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"))aby użyć aplikacji tożsamości zarządzanej, zobacz tożsamość zarządzana
Biblioteka MSAL jest dostarczana z wbudowaną pamięcią podręczną w pamięci operacyjnej. Użycie pamięci podręcznej jest opcjonalne, ale zdecydowanie zalecamy.
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 }Jeśli w pamięci podręcznej nie ma odpowiedniego tokenu lub chcesz pominąć ten krok, wyślij żądanie do usługi Azure AD w celu uzyskania tokenu. Istnieją różne metody uzyskiwania tokenu na podstawie typu i scenariusza aplikacji. Tutaj przedstawiamy przykładowy przepływ z użyciem symbolu zastępczego.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
Możesz zobaczyć przykładowe aplikacje dla deweloperów pokazujące, jak używać biblioteki MSAL Go z różnymi typami aplikacji w różnych scenariuszach.
Nowości
Pełną listę wydań bibliotek można znaleźć w sekcji Wydania w repozytorium kodu źródłowego biblioteki.
Pomoc i obsługa techniczna świadczona przez członków społeczności
Używamy usługi Stack Overflow do współpracy ze społecznością w zakresie obsługi Azure Active Directory i jej zestawów SDK, w tym tego! Zdecydowanie zalecamy zadawanie pytań w witrynie Stack Overflow. Możesz również przeglądać istniejące pytania, aby sprawdzić, czy ktoś wcześniej napotkał problem. Użyj tagu azure-ad-msal podczas zadawania pytań.
Jeśli znajdziesz usterkę lub masz żądanie funkcji, otwórz nowy problem w sekcji Problemy .
Prześlij opinię
Jeśli masz jakiekolwiek opinie dotyczące biblioteki, pamiętaj o przesłaniu żądań funkcji i raportów o błędach w GitHub.
Biblioteka zabezpieczeń
Ta biblioteka steruje sposobem logowania użytkowników i uzyskiwania dostępu do usług. Zalecamy używanie najnowszej wersji naszej biblioteki w aplikacji, jeśli jest to możliwe. Używamy wersjonowania semantycznego, dzięki czemu możesz kontrolować ryzyko związane z aktualizacją aplikacji. Na przykład pobieranie zawsze najnowszej wersji pobocznej (np. x.y.x) zapewnia dostęp do najnowszych usprawnień zabezpieczeń i funkcji, ale nasz interfejs API pozostaje taki sam. Zawsze możesz zobaczyć najnowszą wersję i informacje o wydaniu na karcie „Releases” w serwisie GitHub.
Raportowanie zabezpieczeń
Jeśli znajdziesz problem dotyczący bezpieczeństwa w naszych bibliotekach lub usługach, zgłoś go do secure@microsoft.com, podając jak najwięcej szczegółów. Twoje przesłanie może kwalifikować się do nagrody za pośrednictwem programu Microsoft Bounty. Prosimy nie zgłaszać problemów dotyczących bezpieczeństwa w sekcji GitHub Issues ani w żadnym innym publicznie dostępnym serwisie. Wkrótce skontaktujemy się z Tobą po otrzymaniu informacji. Zachęcamy do otrzymywania powiadomień o wystąpieniu zdarzeń zabezpieczeń, odwiedzając tę stronę i subskrybując alerty biuletynu zabezpieczeń.