PublicClientApplication class
Bu sınıf, genel istemci uygulamaları (masaüstü, mobil) için belirteçleri almak için kullanılır. Genel istemci uygulamalarının uygulama gizli dizilerini güvenli bir şekilde depolamasına güvenilmez ve bu nedenle yalnızca kullanıcı adına belirteç isteyebilir.
- Extends
Oluşturucular
| Public |
Yapılandırma nesnesinde kimlik doğrulaması için önemli öznitelikler şunlardır:
AAD yetkilileri biçimindedir
Azure B2C yetkilileri{instance}/{tenant}/{policy} https:// biçimindedir. Her ilke kendi yetkisi olarak kabul edilir. İstemci uygulaması oluşturma sırasında tüm bilinenAuthorities değerini ayarlamanız gerekir. ADFS yetkilileri https://{instance}/adfs biçimindedir. |
Yöntemler
| acquire |
OAuth2.0 cihaz kodu akışını kullanarak yetkiliden bir belirteç alır. Bu akış, tarayıcı erişimi olmayan veya giriş kısıtlamaları olan cihazlar için tasarlanmıştır. Yetkilendirme sunucusu doğrulama kodu, son kullanıcı kodu ve son kullanıcı doğrulama URI'siyle bir DeviceCode nesnesi gönderir. DeviceCode nesnesi bir geri çağırma yoluyla sağlanır ve son kullanıcıya kimlik bilgilerini giriş için doğrulama URI'sine gitmek için başka bir cihaz kullanması talimatı verilmelidir. İstemci gelen istekleri alamadığından, son kullanıcı kimlik bilgilerinin girişini tamamlayana kadar yetkilendirme sunucusunu tekrar tekrar yoklar. |
| acquire |
Bir yetkilendirme kodu isteyerek ve ardından belirteç için değiştirerek tarayıcı aracılığıyla etkileşimli olarak belirteç alır. |
| acquire |
Önbellekten veya yeni erişim belirteci için yenileme belirtecini değiştirerek alınan bir belirteci döndürür. Aracı etkinleştirildiyse belirteç isteğine aracı tarafından hizmet verilecektir. |
| get |
Bu uygulama için önbelleğe alınmış tüm hesapları döndürür. Aracı etkinleştirildiyse bu istek aracı tarafından karşılanır. |
| sign |
Verilen hesapla ilişkili önbellek yapıtlarını kaldırır |
Devralınan Yöntemler
| acquire |
OAuth2.0 Yetkilendirme Kodu akışının ilk adımından alınan Yetkilendirme Kodunu değiştirerek bir belirteç alır.
|
| acquire |
Yeni bir belirteç kümesi için sağlanan yenileme belirtecini değiştirerek bir belirteç alır. Bu API yalnızca ADAL'dan MSAL'ye geçiş yapmak istediğiniz senaryolar için sağlanır. Aksi takdirde, sessiz senaryolar için kullanmanız |
| acquire |
Kimlik bilgileri için istemci uygulamalarının kullanıcı adını ve parolasını değiştirerek parola verme ile belirteçleri alır En son OAuth 2.0 Güvenlik En İyi Güncel Uygulaması, parolanın verilmesine tamamen izin vermez. Microsoft belgelerinde ve önerilerinde bu öneriyle https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 ilgili diğer ayrıntılar şunlardır:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword |
| clear |
Önbelleği temizleme |
| get |
Kullanıcının uygulamaya kimlik bilgileri girip onay vermesine izin vererek yetkilendirme isteğinin URL'sini oluşturur. URL, uygulama nesnesinde yapılandırılan yetkilinin /authorize uç noktasını hedefler. Kullanıcı kimlik bilgilerini ve onaylarını girdikten sonra, yetkili istekte gönderilen yeniden yönlendirme URI'sine bir yanıt gönderir ve daha sonra aracılığıyla |
| get |
Günlükçü örneğini verir |
| get |
Uygulama için belirteç önbelleğini alır. |
| set |
Yapılandırmalardaki varsayılan günlükçü kümesini yeni Günlükçü ile yeni yapılandırmalarla değiştirir |
Oluşturucu Ayrıntıları
PublicClientApplication(Configuration)
Yapılandırma nesnesinde kimlik doğrulaması için önemli öznitelikler şunlardır:
- clientID: Uygulamanızın uygulama kimliği. Uygulamanızı Uygulama kayıt portalımıza kaydederek bir tane edinebilirsiniz.
- authority: uygulamanızın yetkili URL'si.
AAD yetkilileri biçimindedir https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.
- Uygulamanız tek bir kuruluş dizinindeki Hesapları destekliyorsa, "Enter_the_Tenant_Info_Here" değerini Kiracı Kimliği veya Kiracı adı (örneğin, contoso.microsoft.com) ile değiştirin.
- Uygulamanız herhangi bir kuruluş dizinindeki Hesapları destekliyorsa , "Enter_the_Tenant_Info_Here" değerini kuruluşlarla değiştirin.
- Uygulamanız herhangi bir kuruluş dizinindeki Hesaplar'ı ve kişisel Microsoft hesaplarını destekliyorsa, "Enter_the_Tenant_Info_Here" değerini ortak değerle değiştirin.
- Desteği yalnızca Kişisel Microsoft hesaplarıyla kısıtlamak için "Enter_the_Tenant_Info_Here" değerini tüketicilerle değiştirin.
Azure B2C yetkilileri{instance}/{tenant}/{policy} https:// biçimindedir. Her ilke kendi yetkisi olarak kabul edilir. İstemci uygulaması oluşturma sırasında tüm bilinenAuthorities değerini ayarlamanız gerekir.
ADFS yetkilileri https://{instance}/adfs biçimindedir.
new PublicClientApplication(configuration: Configuration)
Parametreler
- configuration
- Configuration
Yöntem Ayrıntıları
acquireTokenByDeviceCode(DeviceCodeRequest)
OAuth2.0 cihaz kodu akışını kullanarak yetkiliden bir belirteç alır. Bu akış, tarayıcı erişimi olmayan veya giriş kısıtlamaları olan cihazlar için tasarlanmıştır. Yetkilendirme sunucusu doğrulama kodu, son kullanıcı kodu ve son kullanıcı doğrulama URI'siyle bir DeviceCode nesnesi gönderir. DeviceCode nesnesi bir geri çağırma yoluyla sağlanır ve son kullanıcıya kimlik bilgilerini giriş için doğrulama URI'sine gitmek için başka bir cihaz kullanması talimatı verilmelidir. İstemci gelen istekleri alamadığından, son kullanıcı kimlik bilgilerinin girişini tamamlayana kadar yetkilendirme sunucusunu tekrar tekrar yoklar.
function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>
Parametreler
- request
- DeviceCodeRequest
Döndürülenler
Promise<null | AuthenticationResult>
acquireTokenInteractive(InteractiveRequest)
Bir yetkilendirme kodu isteyerek ve ardından belirteç için değiştirerek tarayıcı aracılığıyla etkileşimli olarak belirteç alır.
function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>
Parametreler
- request
- InteractiveRequest
Döndürülenler
Promise<AuthenticationResult>
acquireTokenSilent(SilentFlowRequest)
Önbellekten veya yeni erişim belirteci için yenileme belirtecini değiştirerek alınan bir belirteci döndürür. Aracı etkinleştirildiyse belirteç isteğine aracı tarafından hizmet verilecektir.
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
Parametreler
- request
- SilentFlowRequest
geliştirici tarafından sağlanan SilentFlowRequest
Döndürülenler
Promise<AuthenticationResult>
getAllAccounts()
Bu uygulama için önbelleğe alınmış tüm hesapları döndürür. Aracı etkinleştirildiyse bu istek aracı tarafından karşılanır.
function getAllAccounts(): Promise<AccountInfo[]>
Döndürülenler
Promise<AccountInfo[]>
signOut(SignOutRequest)
Verilen hesapla ilişkili önbellek yapıtlarını kaldırır
function signOut(request: SignOutRequest): Promise<void>
Parametreler
- request
- SignOutRequest
geliştirici tarafından sağlanan SignOutRequest
Döndürülenler
Promise<void>
Devralınan Yöntemin Ayrıntıları
acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)
OAuth2.0 Yetkilendirme Kodu akışının ilk adımından alınan Yetkilendirme Kodunu değiştirerek bir belirteç alır.
getAuthCodeUrl(AuthorizationCodeUrlRequest) OAuth2.0 Yetkilendirme Kodu akışının ilk adımının URL'sini oluşturmak için kullanılabilir. AuthorizationCodeUrlRequest ve AuthorizationCodeRequest içindeki redirectUri ve kapsam değerlerinin aynı olduğundan emin olun.
function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>
Parametreler
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Döndürülenler
Promise<AuthenticationResult>
ClientApplication.acquireTokenByCode'danDevralındı
acquireTokenByRefreshToken(RefreshTokenRequest)
Yeni bir belirteç kümesi için sağlanan yenileme belirtecini değiştirerek bir belirteç alır.
Bu API yalnızca ADAL'dan MSAL'ye geçiş yapmak istediğiniz senaryolar için sağlanır. Aksi takdirde, sessiz senaryolar için kullanmanız acquireTokenSilent() önerilir. kullanırken acquireTokenSilent()MSAL, belirteçlerin önbelleğe alınmasını ve yenilenmesini otomatik olarak işler.
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
Parametreler
- request
- RefreshTokenRequest
Döndürülenler
Promise<null | AuthenticationResult>
acquireTokenByUsernamePassword(UsernamePasswordRequest)
Uyarı
Bu API artık kullanım dışıdır.
- Use a more secure flow instead
Kimlik bilgileri için istemci uygulamalarının kullanıcı adını ve parolasını değiştirerek parola verme ile belirteçleri alır
En son OAuth 2.0 Güvenlik En İyi Güncel Uygulaması, parolanın verilmesine tamamen izin vermez. Microsoft belgelerinde ve önerilerinde bu öneriyle https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 ilgili diğer ayrıntılar şunlardır:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword
function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>
Parametreler
- request
- UsernamePasswordRequest
UsenamePasswordRequest
Döndürülenler
Promise<null | AuthenticationResult>
ClientApplication.acquireTokenByUsernamePassword'danDevralındı
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
Kullanıcının uygulamaya kimlik bilgileri girip onay vermesine izin vererek yetkilendirme isteğinin URL'sini oluşturur. URL, uygulama nesnesinde yapılandırılan yetkilinin /authorize uç noktasını hedefler.
Kullanıcı kimlik bilgilerini ve onaylarını girdikten sonra, yetkili istekte gönderilen yeniden yönlendirme URI'sine bir yanıt gönderir ve daha sonra aracılığıyla acquireTokenByCode(AuthorizationCodeRequest)belirteç almak için kullanılabilecek bir yetkilendirme kodu içermelidir.
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
Parametreler
- request
- AuthorizationUrlRequest
Döndürülenler
Promise<string>
ClientApplication.getAuthCodeUrl'danDevralındı
getLogger()
Günlükçü örneğini verir
function getLogger(): Logger
Döndürülenler
ClientApplication.getLogger'danDevralındı
getTokenCache()
Uygulama için belirteç önbelleğini alır.
function getTokenCache(): TokenCache
Döndürülenler
setLogger(Logger)
Yapılandırmalardaki varsayılan günlükçü kümesini yeni Günlükçü ile yeni yapılandırmalarla değiştirir
function setLogger(logger: Logger)
Parametreler
- logger
- Logger
Günlükçü örneği
ClientApplication.setLogger'danDevralındı