PublicClientApplication class

PublicClientApplication sınıfı, PKCE belirtimi ile OAuth 2.0 Yetkilendirme Kodu Akışı'nda açıklandığı gibi JWT belirteçlerini almak için Tek Sayfalı Uygulamalarda kimlik doğrulaması ve yetkilendirme işlevlerini gerçekleştirmek için kitaplık tarafından kullanıma sunulan nesnedir.

Yöntemler

acquireTokenByCode(AuthorizationCodeRequest)

Bu işlev, eSTS belirteç uç noktasından bir yetkilendirme kodu (kod olarak geçirilir) kullanır. Bu yetkilendirme kodu, bir spa_code almak için gizli bir istemci kullanılarak sunucu tarafında alınmalıdır. Bu API, normal yetkilendirme kodu alımı ve kullanım için geçerli değildir.

Bu yetkilendirme kodunun alınması, gizli bir istemci tarafından edinildiği için PKCE gerektirmez.

acquireTokenPopup(PopupRequest)

Kullanıcının tarayıcısında bir açılır pencere açarak API'niz için bir access_token almak istediğinizde kullanın

acquireTokenRedirect(RedirectRequest)

Kullanıcının tarayıcı penceresini yetkilendirme uç noktasına yönlendirerek API'niz için bir access_token almak istediğinizde kullanın. Bu işlev sayfayı yeniden yönlendirir, böylece bu işlevi izleyen kodlar yürütülmeyecektir.

ÖNEMLİ: Promise'in çözümüne bağımlı koda sahip olmanız önerilmez. Bu işlev geçerli tarayıcı penceresinden uzaklaşır. Şu anda bu işlevde çalışan kodun zaman uyumsuz doğasını yansıtmak için bir Promise döndürür.

acquireTokenSilent(SilentRequest)

Belirli bir kapsam kümesi için sessizce erişim belirteci alın. Paralel istekler yapılırsa şu anda promise işlemini döndürür.

addEventCallback(EventCallbackFunction, EventType[])

Diziye olay geri çağırmaları ekler

addPerformanceCallback(PerformanceCallbackFunction)

Performans olaylarını almak için bir geri çağırma kaydeder.

clearCache(ClearCacheRequest)

Belirteçleri ve hesabı tarayıcı önbelleğinden temizler.

createPublicClientApplication(Configuration)

StandardController oluşturur ve PublicClientApplication'a geçirir

disableAccountStorageEvents()

Kullanıcı hesabı eklendiğinde veya farklı bir tarayıcı sekmesinde veya penceresinde yerel depolamadan kaldırıldığında olay yayan olay dinleyicisini kaldırır

enableAccountStorageEvents()

Farklı bir tarayıcı sekmesinde veya penceresinde bir kullanıcı hesabı eklendiğinde veya localstorage'dan kaldırıldığında olay yayan olay dinleyicisi ekler

getAccount(AccountFilter)

Önbellekte bulunan ve geçirilen hesap filtresiyle eşleşen ilk hesabı döndürür.

getAccountByHomeId(string)

homeAccountId ile eşleşen oturum açmış hesabı döndürür. (hesap nesnesi başarılı oturum açma sırasında oluşturulur) veya eşleşen hesap bulunamadığında null

getAccountByLocalId(string)

localAccountId ile eşleşen oturum açmış hesabı döndürür. (hesap nesnesi başarılı oturum açma sırasında oluşturulur) veya eşleşen hesap bulunamadığında null

getAccountByUsername(string)

Oturum açmış hesap eşleştirme kullanıcı adını döndürür. (hesap nesnesi başarılı oturum açma sırasında oluşturulur) veya eşleşen hesap bulunamadığında null olur. Bu API kolaylık sağlamak için sağlanır ancak en iyi güvenilirlik için getAccountById kullanılmalıdır

getActiveAccount()

Şu anda etkin olan hesabı alır

getAllAccounts(AccountFilter)

Önbellekteki isteğe bağlı filtreyle eşleşen tüm hesapları döndürür. Filtre sağlanmazsa, tüm hesaplar döndürülür.

getLogger()

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

getTokenCache()

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

handleRedirectPromise(string)

Yeniden yönlendirme akışları sırasında PublicClientApplication nesnesi yüklendikten sonra kullanıcıların olayları tetiklemesini sağlayan olay işleyici işlevi. Bu, yeniden yönlendirme kimlik doğrulaması akışlarına dahil olan tüm sayfa yüklerinde çağrılmalıdır.

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

AuthenticationResult nesnesindeki belirteçler ve hesapla önbelleği hidratlar

initialize(InitializeApplicationRequest)

WAM uzantısına bağlanma gibi zaman uyumsuz başlangıç görevlerini gerçekleştirmek için başlatıcı işlevi

initializeWrapperLibrary(WrapperSKU, string)

Telemetriye, günlükçüye vb. geçirilen SKU ve Sürüm değerlerini ayarlamak için sarmalayıcı kitaplıkları (Angular & React) tarafından çağrılır.

loginPopup(PopupRequest)

Kullanıcının tarayıcısında açılan pencere açarak oturum açma işlemini başlatırken kullanın

loginRedirect(RedirectRequest)

Kullanıcının tarayıcısını yetkilendirme uç noktasına yönlendirerek oturum açma işlemini başlatırken kullanın. Bu işlev sayfayı yeniden yönlendirir, böylece bu işlevi izleyen tüm kodlar yürütülmeyecektir.

ÖNEMLİ: Promise'in çözümüne bağımlı koda sahip olmanız önerilmez. Bu işlev geçerli tarayıcı penceresinden uzaklaşır. Şu anda bu işlevde çalışan kodun zaman uyumsuz doğasını yansıtmak için bir Promise döndürür.

logout(EndSessionRequest)

Kullanım dışı bırakılan oturumu kapatma işlevi. Bunun yerine logoutRedirect veya logoutPopup kullanın

logoutPopup(EndSessionPopupRequest)

Geçerli kullanıcı için yerel önbelleği temizler ve ardından kullanıcıdan sunucuda oturumu kapatmasını isteyen bir açılır pencere açar

logoutRedirect(EndSessionRequest)

Geçerli kullanıcının oturumunu kapatıp kullanıcıyı postLogoutRedirectUri'ye yönlendirmek için kullanın. Varsayılan davranış, kullanıcıyı adresine yönlendirmektir window.location.href.

removeEventCallback(string)

Geri çağırma dizisinden sağlanan kimlikle geri çağırmayı kaldırır

removePerformanceCallback(string)

addPerformanceCallback ile kaydedilen bir geri çağırmayı kaldırır.

setActiveAccount(null | AccountInfo)

Etkin hesap olarak kullanılacak hesabı ayarlar. acquireToken API'lerine hiçbir hesap geçirilmezse MSAL bu etkin hesabı kullanı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

setNavigationClient(INavigationClient)

Gezinti istemcilerini ayarlar

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Bu işlev, eSTS'den yetkilendirme kodu getirmek için gizli bir iframe kullanır. Bunun çalışmayabileceği durumlar vardır:

  • Akıllı İzleme Önleme biçimi kullanan tüm tarayıcılar
  • Hizmetle oluşturulmuş bir oturum yoksa

Bu gibi durumlarda, istek bir açılır pencere veya tam çerçeve yeniden yönlendirme içinde yapılmalıdır.

Etkileşimin gerekli olduğu durumlarda prompt=none ile istek gönderemezsiniz.

Yenileme belirtecinizin süresi dolduysa, sunucuda oturumunuz devam ettikçe yeni bir belirteç kümesini sessizce getirmek için bu işlevi kullanabilirsiniz.

Oluşturucu Ayrıntıları

PublicClientApplication(Configuration, IController)

new PublicClientApplication(configuration: Configuration, controller?: IController)

Parametreler

configuration
Configuration

MSAL PublicClientApplication örneğinin nesnesi

controller
IController

Yöntem Ayrıntıları

acquireTokenByCode(AuthorizationCodeRequest)

Bu işlev, eSTS belirteç uç noktasından bir yetkilendirme kodu (kod olarak geçirilir) kullanır. Bu yetkilendirme kodu, bir spa_code almak için gizli bir istemci kullanılarak sunucu tarafında alınmalıdır. Bu API, normal yetkilendirme kodu alımı ve kullanım için geçerli değildir.

Bu yetkilendirme kodunun alınması, gizli bir istemci tarafından edinildiği için PKCE gerektirmez.

function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>

Parametreler

Döndürülenler

Bu işlev tamamlandığında yerine getirilen veya bir hata oluştuğunda reddedilen bir söz.

acquireTokenPopup(PopupRequest)

Kullanıcının tarayıcısında bir açılır pencere açarak API'niz için bir access_token almak istediğinizde kullanın

function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>

Parametreler

request
PopupRequest

Döndürülenler

Bu işlev tamamlandığında yerine getirilen veya bir hata oluştuğunda reddedilen bir söz.

acquireTokenRedirect(RedirectRequest)

Kullanıcının tarayıcı penceresini yetkilendirme uç noktasına yönlendirerek API'niz için bir access_token almak istediğinizde kullanın. Bu işlev sayfayı yeniden yönlendirir, böylece bu işlevi izleyen kodlar yürütülmeyecektir.

ÖNEMLİ: Promise'in çözümüne bağımlı koda sahip olmanız önerilmez. Bu işlev geçerli tarayıcı penceresinden uzaklaşır. Şu anda bu işlevde çalışan kodun zaman uyumsuz doğasını yansıtmak için bir Promise döndürür.

function acquireTokenRedirect(request: RedirectRequest): Promise<void>

Parametreler

request
RedirectRequest

Döndürülenler

Promise<void>

acquireTokenSilent(SilentRequest)

Belirli bir kapsam kümesi için sessizce erişim belirteci alın. Paralel istekler yapılırsa şu anda promise işlemini döndürür.

function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>

Parametreler

silentRequest
SilentRequest

Döndürülenler

  • bu işlev tamamlandığında yerine gelen veya bir hata oluştuğunda reddedilen bir söz. AuthenticationResult nesnesini döndürür

addEventCallback(EventCallbackFunction, EventType[])

Diziye olay geri çağırmaları ekler

function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string

Parametreler

eventTypes

EventType[]

Döndürülenler

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Performans olaylarını almak için bir geri çağırma kaydeder.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Parametreler

Döndürülenler

string

clearCache(ClearCacheRequest)

Belirteçleri ve hesabı tarayıcı önbelleğinden temizler.

function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>

Parametreler

logoutRequest
ClearCacheRequest

Döndürülenler

Promise<void>

createPublicClientApplication(Configuration)

StandardController oluşturur ve PublicClientApplication'a geçirir

static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>

Parametreler

configuration
Configuration

{Configuration}

Döndürülenler

disableAccountStorageEvents()

Kullanıcı hesabı eklendiğinde veya farklı bir tarayıcı sekmesinde veya penceresinde yerel depolamadan kaldırıldığında olay yayan olay dinleyicisini kaldırır

function disableAccountStorageEvents()

enableAccountStorageEvents()

Farklı bir tarayıcı sekmesinde veya penceresinde bir kullanıcı hesabı eklendiğinde veya localstorage'dan kaldırıldığında olay yayan olay dinleyicisi ekler

function enableAccountStorageEvents()

getAccount(AccountFilter)

Önbellekte bulunan ve geçirilen hesap filtresiyle eşleşen ilk hesabı döndürür.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Parametreler

accountFilter
AccountFilter

Döndürülenler

null | AccountInfo

Önbellekte bulunan ilk hesap sağlanan filtreyle eşleşir veya hesap bulunamazsa null olur.

getAccountByHomeId(string)

Uyarı

Bu API artık kullanım dışıdır.

  • Use getAccount instead

homeAccountId ile eşleşen oturum açmış hesabı döndürür. (hesap nesnesi başarılı oturum açma sırasında oluşturulur) veya eşleşen hesap bulunamadığında null

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Parametreler

homeAccountId

string

Döndürülenler

null | AccountInfo

MSAL'de depolanan hesap nesnesi

getAccountByLocalId(string)

Uyarı

Bu API artık kullanım dışıdır.

  • Use getAccount instead

localAccountId ile eşleşen oturum açmış hesabı döndürür. (hesap nesnesi başarılı oturum açma sırasında oluşturulur) veya eşleşen hesap bulunamadığında null

function getAccountByLocalId(localId: string): null | AccountInfo

Parametreler

localId

string

Döndürülenler

null | AccountInfo

MSAL'de depolanan hesap nesnesi

getAccountByUsername(string)

Uyarı

Bu API artık kullanım dışıdır.

  • Use getAccount instead

Oturum açmış hesap eşleştirme kullanıcı adını döndürür. (hesap nesnesi başarılı oturum açma sırasında oluşturulur) veya eşleşen hesap bulunamadığında null olur. Bu API kolaylık sağlamak için sağlanır ancak en iyi güvenilirlik için getAccountById kullanılmalıdır

function getAccountByUsername(userName: string): null | AccountInfo

Parametreler

userName

string

Döndürülenler

null | AccountInfo

MSAL'de depolanan hesap nesnesi

getActiveAccount()

Şu anda etkin olan hesabı alır

function getActiveAccount(): null | AccountInfo

Döndürülenler

null | AccountInfo

getAllAccounts(AccountFilter)

Önbellekteki isteğe bağlı filtreyle eşleşen tüm hesapları döndürür. Filtre sağlanmazsa, tüm hesaplar döndürülür.

function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]

Parametreler

accountFilter
AccountFilter

Döndürülen hesapları daraltmak için (İsteğe bağlı) filtre

Döndürülenler

Önbellekteki AccountInfo nesneleri dizisi

getLogger()

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

function getLogger(): Logger

Döndürülenler

getTokenCache()

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

function getTokenCache(): ITokenCache

Döndürülenler

handleRedirectPromise(string)

Yeniden yönlendirme akışları sırasında PublicClientApplication nesnesi yüklendikten sonra kullanıcıların olayları tetiklemesini sağlayan olay işleyici işlevi. Bu, yeniden yönlendirme kimlik doğrulaması akışlarına dahil olan tüm sayfa yüklerinde çağrılmalıdır.

function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>

Parametreler

hash

string

İşlenmek üzere karma. Varsayılan olarak window.location.hash dosyasının geçerli değerini kullanır. Yalnızca işlenecek yanıt geçerli değerde yer almadıysa açıkça sağlanması gerekir.

Döndürülenler

Promise<null | AuthenticationResult>

Belirteç yanıtı veya null. Dönüş değeri null ise, kimlik doğrulama yeniden yönlendirmesi algılanmadı.

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

AuthenticationResult nesnesindeki belirteçler ve hesapla önbelleği hidratlar

function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>

Parametreler

request

PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

AuthenticationResult'ı almak için kullanılan istek nesnesi

Döndürülenler

Promise<void>

initialize(InitializeApplicationRequest)

WAM uzantısına bağlanma gibi zaman uyumsuz başlangıç görevlerini gerçekleştirmek için başlatıcı işlevi

function initialize(request?: InitializeApplicationRequest): Promise<void>

Parametreler

request
InitializeApplicationRequest

{? InitializeApplicationRequest}

Döndürülenler

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Telemetriye, günlükçüye vb. geçirilen SKU ve Sürüm değerlerini ayarlamak için sarmalayıcı kitaplıkları (Angular & React) tarafından çağrılır.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Parametreler

version

string

loginPopup(PopupRequest)

Kullanıcının tarayıcısında açılan pencere açarak oturum açma işlemini başlatırken kullanın

function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>

Parametreler

request
PopupRequest

Döndürülenler

Bu işlev tamamlandığında yerine getirilen veya bir hata oluştuğunda reddedilen bir söz.

loginRedirect(RedirectRequest)

Kullanıcının tarayıcısını yetkilendirme uç noktasına yönlendirerek oturum açma işlemini başlatırken kullanın. Bu işlev sayfayı yeniden yönlendirir, böylece bu işlevi izleyen tüm kodlar yürütülmeyecektir.

ÖNEMLİ: Promise'in çözümüne bağımlı koda sahip olmanız önerilmez. Bu işlev geçerli tarayıcı penceresinden uzaklaşır. Şu anda bu işlevde çalışan kodun zaman uyumsuz doğasını yansıtmak için bir Promise döndürür.

function loginRedirect(request?: RedirectRequest): Promise<void>

Parametreler

request
RedirectRequest

Döndürülenler

Promise<void>

logout(EndSessionRequest)

Uyarı

Bu API artık kullanım dışıdır.

Kullanım dışı bırakılan oturumu kapatma işlevi. Bunun yerine logoutRedirect veya logoutPopup kullanın

function logout(logoutRequest?: EndSessionRequest): Promise<void>

Parametreler

logoutRequest
EndSessionRequest

Döndürülenler

Promise<void>

logoutPopup(EndSessionPopupRequest)

Geçerli kullanıcı için yerel önbelleği temizler ve ardından kullanıcıdan sunucuda oturumu kapatmasını isteyen bir açılır pencere açar

function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>

Parametreler

logoutRequest
EndSessionPopupRequest

Döndürülenler

Promise<void>

logoutRedirect(EndSessionRequest)

Geçerli kullanıcının oturumunu kapatıp kullanıcıyı postLogoutRedirectUri'ye yönlendirmek için kullanın. Varsayılan davranış, kullanıcıyı adresine yönlendirmektir window.location.href.

function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>

Parametreler

logoutRequest
EndSessionRequest

Döndürülenler

Promise<void>

removeEventCallback(string)

Geri çağırma dizisinden sağlanan kimlikle geri çağırmayı kaldırır

function removeEventCallback(callbackId: string)

Parametreler

callbackId

string

removePerformanceCallback(string)

addPerformanceCallback ile kaydedilen bir geri çağırmayı kaldırır.

function removePerformanceCallback(callbackId: string): boolean

Parametreler

callbackId

string

Döndürülenler

boolean

setActiveAccount(null | AccountInfo)

Etkin hesap olarak kullanılacak hesabı ayarlar. acquireToken API'lerine hiçbir hesap geçirilmezse MSAL bu etkin hesabı kullanır.

function setActiveAccount(account: null | AccountInfo)

Parametreler

account

null | AccountInfo

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

setNavigationClient(INavigationClient)

Gezinti istemcilerini ayarlar

function setNavigationClient(navigationClient: INavigationClient)

Parametreler

navigationClient
INavigationClient

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Bu işlev, eSTS'den yetkilendirme kodu getirmek için gizli bir iframe kullanır. Bunun çalışmayabileceği durumlar vardır:

  • Akıllı İzleme Önleme biçimi kullanan tüm tarayıcılar
  • Hizmetle oluşturulmuş bir oturum yoksa

Bu gibi durumlarda, istek bir açılır pencere veya tam çerçeve yeniden yönlendirme içinde yapılmalıdır.

Etkileşimin gerekli olduğu durumlarda prompt=none ile istek gönderemezsiniz.

Yenileme belirtecinizin süresi dolduysa, sunucuda oturumunuz devam ettikçe yeni bir belirteç kümesini sessizce getirmek için bu işlevi kullanabilirsiniz.

function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>

Parametreler

request

Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

SsoSilentRequest

Döndürülenler

Bu işlev tamamlandığında yerine getirilen veya bir hata oluştuğunda reddedilen bir söz.