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
| Confidential |
ConfidentialClientApplication oluşturucu Configuration nesnesinde gerekli öznitelikler şunlardır:
Azure AD'de yetkili, biçimini 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
| acquire |
Belirteçleri uygulamanın yetkilisinden alır (son kullanıcı için değil). |
| acquire |
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 |
| Set |
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
| 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 |
| acquire |
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: |
| 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ı
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
- request
- ClientCredentialRequest
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
- request
- OnBehalfOfRequest
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
- provider
- IAppTokenProvider
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ı
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
- request
- SilentFlowRequest
Döndürülenler
Promise<AuthenticationResult>
ClientApplication.acquireTokenSilent'tenDevralı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ı