ConfidentialClientApplication class

Bu sınıf, gizli istemci uygulamaları (webApp, webAPI) için belirteçleri almak için kullanılır. Gizli istemci uygulamaları uygulama gizli dizilerini, istemci sertifikalarını/onaylarını uygun şekilde yapılandıracaktır

Extends

Oluşturucular

ConfidentialClientApplication(Configuration)

ConfidentialClientApplication oluşturucu

Configuration nesnesinde gerekli ö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.
  • istemci kimlik bilgileri: Gizli istemciler için istemci gizli dizisi, sertifika veya onay ayarlanmalıdır. Uygulama kayıt portalından bir istemci gizli dizisi alabilirsiniz.

Azure AD'de yetkili, biçimini https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}gösteren bir URL'dir. 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'de yetkili, {instance}/tfp/{tenant}/{policyName}/ https:// biçimindedir. Sonraki sürümlerde bu kitaplıkta tam B2C işlevselliği sağlanacaktır.

Yöntemler

acquireTokenByClientCredential(ClientCredentialRequest)

Belirteçleri uygulamanın yetkilisinden alır (son kullanıcı için değil).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Uygulamanın yetkilisinden belirteçler alır.

Geçerli uygulamanın son kullanıcıyı temsil eden bir belirteçle çağrılan bir orta katman hizmeti olduğu senaryolarda kullanılır. Geçerli uygulama, bu kullanıcı adına aşağı akış web API'sine erişmek üzere başka bir belirteç istemek için belirteci (oboAssertion) kullanabilir.

Geçerli orta katman uygulamasının onay almak için kullanıcı etkileşimi yok. Bu makaleden orta katman uygulamanız için önceden onay almayı öğrenin. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

SetAppTokenProvider(IAppTokenProvider)

Bu genişletilebilirlik noktası yalnızca client_credential akışı için (örneğin acquireTokenByClientCredential) çalışır ve Yönetilen Kimlik desteğini geliştirmek için Azure SDK için tasarlanmıştı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

acquireTokenSilent(SilentFlowRequest)

Kullanıcı belirtecin istendiği hesabı belirttiğinde sessizce belirteç alır.

Bu API, kullanıcının bir hesap nesnesi sağlamasını bekler ve varsa belirteci almak için önbelleği arar. Ayrıca kullanıcının access_token ve id_token önbelleğini atlamak için gönderebileceği isteğe bağlı bir "forceRefresh" boole değeri de vardır. refresh_token süresinin dolması veya bulunmaması durumunda bir hata oluşur ve kullanıcının herhangi bir etkileşimli belirteç alma API'sini çağırması için yönergeler sağlanır (örneğin: acquireTokenByCode()).

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ı

ConfidentialClientApplication(Configuration)

ConfidentialClientApplication oluşturucu

Configuration nesnesinde gerekli ö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.
  • istemci kimlik bilgileri: Gizli istemciler için istemci gizli dizisi, sertifika veya onay ayarlanmalıdır. Uygulama kayıt portalından bir istemci gizli dizisi alabilirsiniz.

Azure AD'de yetkili, biçimini https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}gösteren bir URL'dir. 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'de yetkili, {instance}/tfp/{tenant}/{policyName}/ https:// biçimindedir. Sonraki sürümlerde bu kitaplıkta tam B2C işlevselliği sağlanacaktır.

new ConfidentialClientApplication(configuration: Configuration)

Parametreler

configuration
Configuration

Yöntem Ayrıntıları

acquireTokenByClientCredential(ClientCredentialRequest)

Belirteçleri uygulamanın yetkilisinden alır (son kullanıcı için değil).

function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>

Parametreler

Döndürülenler

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Uygulamanın yetkilisinden belirteçler alır.

Geçerli uygulamanın son kullanıcıyı temsil eden bir belirteçle çağrılan bir orta katman hizmeti olduğu senaryolarda kullanılır. Geçerli uygulama, bu kullanıcı adına aşağı akış web API'sine erişmek üzere başka bir belirteç istemek için belirteci (oboAssertion) kullanabilir.

Geçerli orta katman uygulamasının onay almak için kullanıcı etkileşimi yok. Bu makaleden orta katman uygulamanız için önceden onay almayı öğrenin. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>

Parametreler

Döndürülenler

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Bu genişletilebilirlik noktası yalnızca client_credential akışı için (örneğin acquireTokenByClientCredential) çalışır ve Yönetilen Kimlik desteğini geliştirmek için Azure SDK için tasarlanmıştır.

function SetAppTokenProvider(provider: IAppTokenProvider)

Parametreler

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ı

acquireTokenSilent(SilentFlowRequest)

Kullanıcı belirtecin istendiği hesabı belirttiğinde sessizce belirteç alır.

Bu API, kullanıcının bir hesap nesnesi sağlamasını bekler ve varsa belirteci almak için önbelleği arar. Ayrıca kullanıcının access_token ve id_token önbelleğini atlamak için gönderebileceği isteğe bağlı bir "forceRefresh" boole değeri de vardır. refresh_token süresinin dolması veya bulunmaması durumunda bir hata oluşur ve kullanıcının herhangi bir etkileşimli belirteç alma API'sini çağırması için yönergeler sağlanır (örneğin: acquireTokenByCode()).

function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>

Parametreler

Döndürülenler

ClientApplication.acquireTokenSilent'tenDevralı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ı