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

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.

Yöntemler

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.

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.

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.

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.

signOut(SignOutRequest)

Verilen hesapla ilişkili önbellek yapıtlarını kaldırır

Devralınan Yöntemler

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.

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.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

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

clearCache()

Önbelleği temizleme

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.

getLogger()

Günlükçü örneğini verir

getTokenCache()

Uygulama için belirteç önbelleğini alır.

setLogger(Logger)

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

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

Döndürülenler

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

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

authCodePayLoad
AuthorizationCodePayload

Döndürülenler

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

Döndürülenler

Promise<null | AuthenticationResult>

ClientApplication.acquireTokenByRefreshToken'danDevralındı

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()

Önbelleği temizleme

function clearCache()

ClientApplication.clearCache'tenDevralındı

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

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

ClientApplication.getTokenCache ÖğesindenDevralındı

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ı