2017-03-11 3 views
0

Invoke-webrequestを使用してAdobe.comにログインしようとしていますが、エラーは表示されませんが、ログインできません。すべての正しいフィールドを取得するためにFiddlerをインストールしました。ログインフォーム用。だから、ここに私のスクリプトは、ログインしていないが、エラーを出すことはありません。invoke-webrequest

$wr = Invoke-WebRequest -Uri 'https://adobeid-na1.services.adobe.com/renga-idprovider/pages/login?callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FSunbreakWebUI1%2FAdobeID%2Ftoken%3Fredirect_uri%3Dhttps%253A%252F%252Faccounts.adobe.com%252F%2523from_ims%253Dtrue%2526old_hash%253D%2526api%253Dauthorize%2526reauth%253Dforce&client_id=SunbreakWebUI1&scope=AdobeID%2Copenid%2Csunbreak%2Cacct_mgmt_webui%2Cgnav%2Cadditional_info.account_type%2Csao.cce_private%2Ccreative_cloud%2Cread_countries_regions%2Cupdate_profile.password%2Cadditional_info.roles%2Cupdate_profile.optionalAgreements%2Cupdate_profile.change_password%2Cadditional_info.social%2Csocial.link%2Cunlink_social_account%2Creauthenticated&denied_callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fdenied%2FSunbreakWebUI1%3Fredirect_uri%3Dhttps%253A%252F%252Faccounts.adobe.com%252F%2523from_ims%253Dtrue%2526old_hash%253D%2526api%253Dauthorize%2526reauth%253Dforce%26response_type%3Dtoken&display=web_v2&relay=e4a0063e-836e-4c51-8a39-4016d0f8ad8e&locale=en_US&flow_type=token&client_redirect=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fredirect%2FSunbreakWebUI1%3Fclient_redirect%3Dhttps%253A%252F%252Faccounts.adobe.com%252F%2523from_ims%253Dtrue%2526old_hash%253D%2526api%253Dauthorize%2526reauth%253Dforce&idp_flow_type=login&reauthenticate=force' -SessionVariable adobe 

#These are the login values that i got from Fiddler 
$vals = @{ 
    authSrc='AdobeID'; 
    callback=$($wr.Forms[0].Fields.adobeid_callback); 
    #client_id=$($wr.Forms[0].Fields.adobeid_client_id); 
    client_id='SunbreakWebUI1'; 
    client_redirect=$($wr.Forms[0].Fields.adobeid_client_redirect); 
    denied_callback=$($wr.Forms[0].Fields.adobeid_denied_callback); 
    display=$($wr.Forms[0].Fields.adobeid_display); 
    flow=$($wr.Forms[0].Fields.adobeid_flow); 
    flow_type=$($wr.Forms[0].Fields.adobeid_flow_type); 
    force_marketing_permission=$($wr.Forms[0].Fields.adobeid_force_marketing_permission); 
    idp_flow_type=$($wr.Forms[0].Fields.adobeid_idp_flow_type); 
    is_reauthenticating='false'; 
    locale=$($wr.Forms[0].Fields.adobeid_locale); 
    page_name='SignIn_Form'; 
    password='MyPassword1'; 
    relay=$($wr.Forms[0].Fields.adobeid_relay); 
    scope=$($wr.Forms[0].Fields.adobeid_scope); 
    username='[email protected]'; 
    vi='' 
} 
#Now I am logging into adobe with a post. 
$wr2 = Invoke-WebRequest -Uri 'https://adobeid-na1.services.adobe.com/renga-idprovider/pages/login.do' -WebSession $adobe -Method Post -Body $vals 

これらのすべてのURLとフォーム値は、Fiddlerから取得されました。 誰かが私が逃しているものについての考えを持っていますか?またはスクリプトのトラブルシューティング方法を教えてください。

My $ valsハッシュテーブルは次のようになります。

Name       Value                                     
----       -----                                     
relay       e4a0063e-836e-4c51-8a39-4016d0f8ad8e                             
username      [email protected]                               
vi                                             
scope       AdobeID,openid,sunbreak,acct_mgmt_webui,gnav,additional_info.account_type,sao.cce_private,creative_cloud,read_countries_regions,update_profile.pass... 
is_reauthenticating   false                                     
password      MyPassword1                                    
authSrc      AdobeID                                    
denied_callback    https://ims-na1.adobelogin.com/ims/denied/SunbreakWebUI1?redirect_uri=https%3A%2F%2Faccounts.adobe.com%2F%23from_ims%3Dtrue%26old_hash%3D%26api%3Da... 
display      web_v2                                     
idp_flow_type     login                                     
locale       en_US                                     
force_marketing_permission  false                                     
flow_type      token                                     
page_name      SignIn_Form                                   
callback      https://ims-na1.adobelogin.com/ims/adobeid/SunbreakWebUI1/AdobeID/token?redirect_uri=https%3A%2F%2Faccounts.adobe.com%2F%23from_ims%3Dtrue%26old_ha... 
client_redirect    https://ims-na1.adobelogin.com/ims/redirect/SunbreakWebUI1?client_redirect=https%3A%2F%2Faccounts.adobe.com%2F%23from_ims%3Dtrue%26old_hash%3D%26ap... 
flow       true                                     
client_id      SunbreakWebUI1                                   

私もJSONに変換して成功させずに渡しました。

ご協力いただければ幸いです。

+0

コードの中の 'websession $ adobe'はどこですか?それはセッションを作成するものです。 基本的に 'sessionvariable $ adobe'を作成してから、' websession $ adobe'を使ってそのセッションに入る必要があります。 [こちら](http://stackoverflow.com/questions/13756065/) powershell-invoke-webrequest-websession-not-working)を参照してください。 –

+0

私は非常に長い最初の行の最後に、 "SessionVariable adobe"を持っています。だから、私はちょっと困惑しています。 Adobeには、私の初心者の目が見えない隠された何かがあると思う。 私は私の個人用ウェブサイト(明らかに異なるログインフォーム)に対して同じコマンドセットをテストし、ログインできました。だから、私はAdobeにバックグラウンドで特別なソースがあると思います。 –

答えて

0

私はこれを考え出しました。あなたは実際には本当に近くにいた。これが役に立ったら:

$r = Invoke-WebRequest -Uri 'https://adobeid-na1.services.adobe.com/renga-idprovider/pages/login?callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fadobeid%2FSunbreakWebUI1%2FAdobeID%2Ftoken%3Fredirect_uri%3Dhttps%253A%252F%252Faccounts.adobe.com%252F%2523from_ims%253Dtrue%2526old_hash%253D%2526api%253Dauthorize%2526reauth%253Dforce&client_id=SunbreakWebUI1&scope=AdobeID%2Copenid%2Csunbreak%2Cacct_mgmt_webui%2Cgnav%2Cadditional_info.account_type%2Csao.cce_private%2Ccreative_cloud%2Cread_countries_regions%2Cupdate_profile.password%2Cadditional_info.roles%2Cupdate_profile.optionalAgreements%2Cupdate_profile.change_password%2Cadditional_info.social%2Csocial.link%2Cunlink_social_account%2Creauthenticated&denied_callback=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fdenied%2FSunbreakWebUI1%3Fredirect_uri%3Dhttps%253A%252F%252Faccounts.adobe.com%252F%2523from_ims%253Dtrue%2526old_hash%253D%2526api%253Dauthorize%2526reauth%253Dforce%26response_type%3Dtoken&display=web_v2&relay=e4a0063e-836e-4c51-8a39-4016d0f8ad8e&locale=en_US&flow_type=token&client_redirect=https%3A%2F%2Fims-na1.adobelogin.com%2Fims%2Fredirect%2FSunbreakWebUI1%3Fclient_redirect%3Dhttps%253A%252F%252Faccounts.adobe.com%252F%2523from_ims%253Dtrue%2526old_hash%253D%2526api%253Dauthorize%2526reauth%253Dforce&idp_flow_type=login&reauthenticate=force' -SessionVariable Adobe 
$form = $r.Forms[0] 
$form.Fields["adobeid_username"] = $username 
$form.Fields["adobeid_password"] = $password 
$r2 = Invoke-WebRequest -Uri "https://adobeid-na1.services.adobe.com/renga-idprovider/pages/login.do" -WebSession $Adobe -Method Post -Body $form.Fields