Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Note
Pustaka Autentikasi Microsoft (MSAL) untuk Go adalah tambahan baru untuk keluarga pustaka MSAL. Ini telah tersedia dalam pratinjau siap produksi untuk mengukur minat pelanggan dan untuk mengumpulkan umpan balik dari komunitas. Kami menyambut semua kontributor (lihat panduan kontribusi di repositori pustaka) untuk membantu kami meningkatkan pustaka.
Pustaka Autentikasi Microsoft (MSAL) untuk Go adalah bagian dari platform identitas Microsoft untuk pengembang. Ini memungkinkan Anda untuk memasukkan pengguna atau aplikasi dengan identitas Microsoft (akun Azure AD dan Microsoft) dan mendapatkan token untuk memanggil API seperti Microsoft Graph atau API Anda sendiri yang terdaftar di platform identitas Microsoft. Ini dibangun menggunakan protokol OAuth2 dan OpenID Connect standar industri.
Kode terbaru berada di cabang dev dalam repositori GitHub library.
Installation
Menyiapkan Go
Untuk menginstal Go, kunjungi tautan ini.
Menginstal MSAL Go
go get -u github.com/AzureAD/microsoft-authentication-library-for-go/
Penggunaan
Sebelum menggunakan MSAL Go, Anda harus mendaftarkan aplikasi Anda dengan platform identitas Microsoft.
Permukaan publik
API Publik pustaka dapat ditemukan di direktori berikut di bawah apps.
-
confidential- API aplikasi rahasia -
public- API aplikasi publik -
cache- Antarmuka cache yang dapat diimplementasikan untuk menyediakan penyimpanan kredensial cache persistensi -
managedidentity- API Identitas Terkelola
Memperoleh token dengan MSAL Go mengikuti pola tiga langkah umum ini. Mungkin ada sedikit perbedaan untuk alur akuisisi token lainnya. Berikut adalah contoh dasar:
MSAL memisahkan aplikasi klien publik dan rahasia. Jadi, Anda akan membuat instans
PublicClientApplicationdanConfidentialClientApplicationdan menggunakan ini sepanjang masa pakai aplikasi Anda.- Menginisialisasi klien publik:
publicClientApp, err := public.New("client_id", public.WithAuthority("https://login.microsoftonline.com/Enter_The_Tenant_Name_Here"))- Menginisialisasi klien rahasia:
// 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"))untuk menggunakan aplikasi Identitas Terkelola, lihat identitas terkelola
MSAL dilengkapi dengan cache dalam memori. Menggunakan cache bersifat opsional, tetapi kami akan sangat merekomendasikannya.
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 }Jika tidak ada token yang cocok di cache, atau Anda memilih untuk melewati langkah ini, kirim permintaan ke Azure AD untuk mendapatkan token. Ada berbagai metode untuk memperoleh token berdasarkan jenis dan skenario aplikasi Anda. Di sini, kami mendemonstrasikan alur placeholder.
result, err := publicClientApp.AcquireTokenByOneofTheActualMethods([]string{"your_scope"}, ...(other parameters depending on the function)) if err != nil { log.Fatal(err) } accessToken := result.AccessToken
Anda dapat melihat aplikasi sampel pengembang tentang cara menggunakan MSAL Go dengan berbagai jenis aplikasi dalam berbagai skenario.
Rilis
Untuk daftar lengkap rilis pustaka, lihat bagian Rilis di repositori kode sumber pustaka.
Bantuan dan dukungan komunitas
Kami menggunakan Stack Overflow untuk bekerja dengan komunitas dalam mendukung Azure Active Directory dan SDK-nya, termasuk yang ini! Kami sangat menyarankan Anda mengajukan pertanyaan Anda di Stack Overflow. Anda juga dapat menelusuri pertanyaan yang ada untuk melihat apakah seseorang telah mengalami masalah sebelumnya. Silakan gunakan azure-ad-msal tag saat mengajukan pertanyaan Anda.
Jika Anda menemukan bug atau memiliki permintaan fitur, buka masalah baru di bagian Masalah .
Kirim umpan balik
Jika Anda memiliki umpan balik pustaka, pastikan untuk mengirimkan permintaan fitur dan laporan bug Anda di GitHub.
Pustaka keamanan
Pustaka ini mengontrol cara pengguna masuk dan mengakses layanan. Sebaiknya gunakan versi terbaru pustaka kami di aplikasi Anda jika memungkinkan. Kami menggunakan penerapan versi semantik sehingga Anda dapat mengontrol risiko yang terkait dengan pembaruan aplikasi Anda. Sebagai contoh, selalu mengunduh nomor versi minor terbaru (misalnya x.y.x) memastikan Anda mendapatkan peningkatan keamanan dan fitur terbaru tetapi permukaan API kami tetap sama. Anda selalu dapat melihat versi terbaru dan catatan rilis di bawah tab Rilis di GitHub.
Pelaporan keamanan
Jika Anda menemukan masalah keamanan dengan pustaka atau layanan kami, harap laporkan dengan secure@microsoft.com detail sebanyak mungkin. Pengajuan Anda mungkin memenuhi syarat untuk mendapatkan hadiah melalui program Microsoft Bounty. Harap jangan memublikasikan masalah keamanan di GitHub Issues atau situs publik lain mana pun. Kami akan segera menghubungi Anda setelah menerima informasi tersebut. Kami mendorong Anda untuk mendapatkan pemberitahuan tentang kapan insiden keamanan terjadi dengan mengunjungi halaman ini dan berlangganan Pemberitahuan Penasihat Keamanan.