• 26.09.2019
  • 4 minute de citit

In acest articol

Acest articol va va ajuta sa intelegeti tipurile utilizate in aplicatii pentru clienti publici cu cont unic si multiplu, cu accent pe aplicatiile pentru clienti publici cu cont unic.

Biblioteca Azure Active Directory Authentication Library (ADAL) modeleaza serverul. In schimb, Microsoft Authentication Library (MSAL) va modeleaza aplicatia client. Majoritatea aplicatiilor Android sunt considerate clienti publici. Un client public este o aplicatie care nu poate pastra un secret in siguranta.

MSAL specializeaza suprafata API a PublicClientApplication pentru a simplifica si clarifica experienta de dezvoltare a aplicatiilor care permit utilizarea unui singur cont odata. PublicClientApplication este subclasat de SingleAccountPublicClientApplication si MultipleAccountPublicClientApplication. Urmatoarea diagrama arata relatia dintre aceste clase.

Aplicatie client public cu cont unic

Clasa SingleAccountPublicClientApplication va permite sa creati o aplicatie bazata pe MSAL care permite conectarea unui singur cont odata. SingleAccountPublicClientApplication difera de PublicClientApplication in urmatoarele moduri:

  • MSAL urmareste contul conectat in prezent.
    • Daca aplicatia dvs. foloseste un broker (implicit in timpul inregistrarii aplicatiei portalului Azure) si este instalata pe un dispozitiv in care este prezent un broker, MSAL va verifica daca contul este inca disponibil pe dispozitiv.
  • signIn va permite sa va conectati la un cont in mod explicit si separat de solicitarea domeniilor.
  • acquisitionTokenSilent nu necesita un parametru de cont. Daca furnizati un cont, iar contul pe care il furnizati nu se potriveste cu contul curent urmarit de MSAL, se lanseaza o exceptie MsalClientException.
  • Acquitoken nu permite utilizatorului sa schimbe conturile. Daca utilizatorul incearca sa treaca la un cont diferit, se lanseaza o exceptie.
  • getCurrentAccount returneaza un obiect rezultat care ofera urmatoarele:
    • Un boolean care indica daca contul s-a schimbat. De exemplu, un cont poate fi schimbat ca urmare a eliminarii de pe dispozitiv.
    • Contul anterior. Acest lucru este util daca trebuie sa efectuati orice curatare locala a datelor atunci cand contul este eliminat de pe dispozitiv sau cand este conectat un cont nou.
    • Contul curent.
  • signOut elimina orice jetoane asociate clientului dvs. de pe dispozitiv.

Cand un broker de autentificare Android, cum ar fi Microsoft Authenticator sau Intune Company Portal, este instalat pe dispozitiv si aplicatia dvs. este configurata pentru a utiliza brokerul, signOut nu va elimina contul de pe dispozitiv.

Scenariu de cont unic

Urmatorul pseudo cod ilustreaza utilizarea SingleAccountPublicClientApplication.

// Constructie aplicatie client public cu cont unic ISingleAccountPublicClientApplication app = PublicClientApplication.createSingleAccountPublicClientApplication (getApplicationContext (), R.raw.msal_config); String [] scopes = {“User.Read”}; IAccount mAccount = nul; // Achizitionati un jeton interactiv // Utilizatorul va primi o solicitare UI inainte de a obtine jetonul. app.signIn (getActivity (), scopes, new AuthenticationCallback () {@Override public void onSuccess (IAuthenticationResult authenticationResult) {mAccount = authenticationResult.getAccount ();} @Override public void onError (exceptia MsalException publica) {} @Override () {}}); // Incarcati date specifice contului getDataForAccount (cont); // Obtineti contul curent ICurrentAccountResult currentAccountResult = app.getCurrentAccount (); if (currentAccountResult. didAccountChange ()) {// Cont modificat Stergeti datele contului existente clearDataForAccount (currentAccountResult.getPriorAccount ()); mAccount = currentAccountResult.getCurrentAccount (); if (cont! = nul) {// incarcati datele pentru noul cont getDataForAccount (cont); }} // Deconecteaza-te daca (app.signOut ()) {clearDataForAccount (mAccount); mAccount = nul; }

Aplicatie client public cu mai multe conturi

Clasa MultipleAccountPublicClientApplication este utilizata pentru a crea aplicatii bazate pe MSAL care permit conectarea mai multor conturi in acelasi timp. Va permite sa obtineti, sa adaugati si sa eliminati conturi dupa cum urmeaza:

Adaugati un cont

Utilizati unul sau mai multe conturi in aplicatia dvs. apeland acquitoken de una sau mai multe ori.

Obtineti conturi

  • Apelati getAccount pentru a obtine un anumit cont.
  • Apelati getAccount pentru a obtine o lista de conturi cunoscute in prezent de aplicatie.

Aplicatia dvs. nu va putea enumera toate conturile platformei de identitate Microsoft de pe dispozitivul cunoscut de aplicatia broker. Poate enumera numai conturi care au fost utilizate de aplicatia dvs. Conturile care au fost eliminate de pe dispozitiv nu vor fi returnate de aceste functii.

Eliminati un cont

Eliminati un cont apeland removeAccount cu un identificator de cont.

Daca aplicatia dvs. este configurata pentru a utiliza un broker si un broker este instalat pe dispozitiv, contul nu va fi eliminat din broker atunci cand apelati removeAccount. Doar jetoanele asociate clientului dvs. sunt eliminate.

Scenariu de cont multiplu

Urmatorul pseudo cod arata cum sa creati o aplicatie cu mai multe conturi, sa listati conturile pe dispozitiv si sa achizitionati jetoane.

// Construiti mai multe conturi de aplicatii pentru clienti publici IMultipleAccountPublicClientApplication app = PublicClientApplication.createMultipleAccountPublicClientApplication (getApplicationContext (), R.raw.msal_config); String [] scopes = {“User.Read”}; IAccount mAccount = nul; // Achizitionati un jeton in mod interactiv // Utilizatorul va trebui sa interactioneze cu o interfata de utilizare pentru a obtine o aplicatie de jeton.acquireToken (getActivity (), scopuri, nou AuthenticationCallback () {@Override public void onSuccess (IAuthenticationResult authenticationResult) {mAccount = authenticationResult .getAccount ();} @Override public void onError (exceptie MsalException) {} @Override public void onCancel () {}}); … // Obtineti autoritatea implicita Autoritate sir = app.getConfiguration (). GetDefaultAuthority (). GetAuthorityURL (). ToString (); // Obtineti o lista de conturi pe dispozitivul List < IAccount> accounts = app.getAccounts (); // Alegeti un cont pentru a obtine un jeton fara a solicita utilizatorului sa se conecteze IAccount selectedAccount = accounts.get (0); // Obtineti un simbol fara a solicita utilizatorului app.acquireTokenSilentAsync (scopuri, selectedAccount, autoritate, nou SilentAuthenticationCallback () {@Override public void onSuccess (IAuthenticationResult authenticationResult) {mAccount = authenticationResult.getAccount ();} @Override exceptie) { } }); new SilentAuthenticationCallback () {@Override public void onSuccess (IAuthenticationResult authenticationResult) {mAccount = authenticationResult.getAccount (); } @Override public void onError (exceptie MsalException) {}}); new SilentAuthenticationCallback () {@Override public void onSuccess (IAuthenticationResult authenticationResult) {mAccount = authenticationResult.getAccount (); } @Override public void onError (exceptie MsalException) {}});

marito guarda la moglie scopare malena porn videos
giorgia xxx malena porno
sperma party matt core malena porno anale
salieri porn tube malena porno film
xxx full porn malena porno hub
divina porno malena porno italiano
cento xcento video malena porno nuovo
isvn – io sono valentina nappi malena porno rocco
luna oara anal malena porno siffredi
pornostar barbara malena porno streaming
xxx porn streaming malena porno tube
video hard vip italiani malena porno video
malena la pugliese rocco malena pornostar film
l’accademia delle seghe malena pornostar italiana
roberta gemma nude malena pornostar xvideos
valentina nappi ambulanza malena pornp
porche bionde malena pov
you porn martina smeraldi malena primo porno
pornostar lisa malena pugliese anal
cazzi fuori malena pugliese gangbang