Programim dhe zhvillim, javascript, python, php, html

Merr token për API të mbrojtur OAuth2 në PowerShell

Kur përdor një shfletues, përdor këtë pikë përfundimtare për të autorizuar:

https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize?client_id=‹client_id›&response_type=code&redirect_uri=‹redirect_uri›&scope=email+offline_access+openid+profile&state=&prompt=select_account

pastaj hyj në llogarinë time të Microsoft dhe më ridrejton te aplikacioni im.

Si mund të identifikohem për të marrë një shenjë nga PowerShell? Më duhet për automatizimin e provës. Kam gjetur diçka të tillë (https://github.com/shawntabrizi/Microsoft-Authentication-with-PowerShell-and-MSAL/tree/master/Authorization%20Code%20Grant%20Flow) por nuk jam i sigurt nëse është një zgjidhje e mirë për rastin tim.

Vlerësoni çdo ndihmë.

EDIT:

Nuk di si ta automatizoj këtë hap: fut përshkrimin e imazhit këtu


Përgjigjet:


1

Nëse dëshironi që testi juaj të thërrasë API-në si një aplikacion, mund të përdorni rrjedhën e kredencialeve të klientit.

Nëse nga ana tjetër dëshironi të telefononi API-në në emër të një përdoruesi, mund t'ju duhet të përdorni rrjedhën e grantit të kredencialeve të fjalëkalimit të pronarit të burimit: https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc

Vini re se përdoruesi zakonisht duhet të jetë një llogari lokale në atë qiramarrës të AAD-së (pa përdorues të jashtëm/llogari Microsoft/llogari AD në prem) pa MPJ. Merreni parasysh këtë dhe ruani kredencialet e përdoruesit në mënyrë të sigurt. Dhe përdorni një qiramarrës testimi AAD për këtë në mënyrë që kredencialet të mos kenë akses në asnjë mjedis prodhimi.

18.08.2020
  • Hm, si janë të ndryshme këto dy qasje në rastin tim? Unë dua të testoj pikat fundore të API dhe më duhet një shenjë e vlefshme, nuk ka rëndësi se si do ta marr atë. Apo duhet të ketë rëndësi për mua? Rrjedha e kredencialeve të klientit (docs.microsoft.com/en-us/azure/active-directory/develop/) është më e thjeshtë se kredencialet e fjalëkalimit të pronarit të burimit apo jo? 18.08.2020
  • Epo, kjo ka rëndësi nga këndvështrimi i API-së tuaj. A prisni që një aplikacion klienti të thërrasë API-në në emër të një përdoruesi (d.m.th. ka informacione të përdoruesit në shenjën e aksesit)? Rrjedha e kredencialeve të klientit është për shërbimin ndaj skenarëve të shërbimit ku një aplikacion thërret një API me leje aplikacioni në vend të lejeve të deleguara. 18.08.2020

  • 2

    Ne mund të përdorim bibliotekën MSAL në PowerShell.

    Funksioni Get-MSALToken i modulit MSAL.PS, i cili kërkoi të kthente një shenjë të vlefshme që ju mund të përdorni.

    Shembull:- Për të detyruar vërtetimin interaktiv për të marrë AccessToken (me lejet MS Graph User.Read) dhe IdToken për qiramarrësin specifik të Azure AD dhe UPN duke përdorur ID-në e klientit nga regjistrimi i aplikacionit (klient publik).

     PS C:\>Get-MsalToken -ClientId '00000000-0000-0000-0000-000000000000' -TenantId '00000000-0000-0000-0000-000000000000' -Interactive -Scope 'https://graph.microsoft.com/User.Read'
        -LoginHint [email protected]
    
    18.08.2020
  • Ku mund të gjej shembuj për MSAL për flukse të ndryshme OAuth2? 18.08.2020
  • Përshëndetje @TomaszKaniewski, Sapo përditësova përgjigjen time me një shembull. Ju lutem më njoftoni nëse keni ende nevojë për ndihmë. 18.08.2020
  • Mirë, por ku mund të vendos fjalëkalimin për [email protected] tim? 19.08.2020
  • Kur ekzekutojmë komandën, do të hapet për hyrjen për të futur emrin e përdoruesit dhe fjalëkalimin. 19.08.2020
  • Më duhet për automatizimin e testimit në tubacionet CD. Më duhet të marr kodin e autorizimit pa asnjë ndërveprim manual, i gjithë procesi duhet të automatizohet. 19.08.2020
  • Nëse dëshironi të automatizoni hyrjen manuale pa emrin e përdoruesit dhe fjalëkalimin, atëherë përdorni rrjedhën e kredencialeve të klientit në vend të rrjedhës së kodit auth 19.08.2020
  • Përshëndetje Tomasz, ju lutemi na tregoni nëse kjo përgjigje ishte e dobishme për ju. Nëse po, ju lutemi mos harroni ta shënoni si përgjigje duke përdorur shenjën e kontrollit në mënyrë që të tjerët në komunitet me pyetje të ngjashme të mund të gjejnë më lehtë një zgjidhje. Gjithashtu, ju lutemi, kurseni disa minuta për të na informuar se si ia dolëm duke përdorur këtë lidhje ankete - microsoft.qualtrics.com/jfe/form/ 26.08.2020
  • Materiale të reja

    Masterclass Coroutines: Kapitulli-3: Anulimi i korutinave dhe trajtimi i përjashtimeve.
    Mirë se vini në udhëzuesin gjithëpërfshirës mbi Kotlin Coroutines! Në këtë seri artikujsh, unë do t'ju çoj në një udhëtim magjepsës, duke filluar nga bazat dhe gradualisht duke u thelluar në..

    Faketojeni derisa ta arrini me të dhënat false
    A e gjeni ndonjëherë veten duke ndërtuar një aplikacion të ri dhe keni nevojë për të dhëna testimi që duken dhe duken më realiste ose një grup i madh të dhënash për performancën e ngarkesës...

    Si të përdorni kërkesën API në Python
    Kërkesë API në GitHub për të marrë depot e përdoruesve duke përdorur Python. Në këtë artikull, unë shpjegoj procesin hap pas hapi për të trajtuar një kërkesë API për të marrë të dhëna nga..

    Një udhëzues hap pas hapi për të zotëruar React
    Në këtë artikull, do të mësoni se si të krijoni aplikacionin React, do të mësoni se si funksionon React dhe konceptet thelbësore që duhet të dini për të ndërtuar aplikacione React. Learning..

    AI dhe Psikologjia — Pjesa 2
    Në pjesën 2 të serisë sonë të AI dhe Psikologji ne diskutojmë se si makineritë mbledhin dhe përpunojnë të dhëna për të mësuar emocione dhe ndjenja të ndryshme në mendjen e njeriut, duke ndihmuar..

    Esencialet e punës ditore të kodit tim VS
    Shtesat e mia të preferuara - Git Graph 💹 Kjo shtesë është vërtet e mahnitshme, e përdor përpara se të filloj të punoj për të kontrolluar dy herë ndryshimet dhe degët më të fundit, mund të..

    Pse Python? Zbulimi i fuqisë së gjithanshme të një gjiganti programues
    Në peizazhin gjithnjë në zhvillim të gjuhëve të programimit, Python është shfaqur si një forcë dominuese. Rritja e tij meteorike nuk është rastësi. Joshja e Python qëndron në thjeshtësinë,..