Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Oauth microsoft errore AADSTS900561

    Sto utilizzando Codeigniter per creare un web app.
    Vorrei includere il login Microsoft, ma ho dei problemi.

    Codice PHP:
    $authUrl 'https://login.microsoftonline.com/tenant/oauth2/v2.0/authorize';   $query   http_build_query([        'client_id'     => ('client_secret_id'),        'client_secret' => ('client_secret'),        'response_type' => 'code',        'redirect_uri'  => 'https://ser-dev.sito.it/MS_login/login',        'scope'         => 'User.Read profile openid email'    ]);  redirect($authUrl '?' $query);    } 
    Dopo
    Codice PHP:
         $authUrl 'https://login.microsoftonline.com/tenant/oauth2/v2.0/token';   $query   = array(        'client_id'     => ('client_id'),        'client_secret' => ('client_secret),        'response_type' => 'code',        'grant_type' => 'authorization_code ',        'method'  => 'POST',        'redirect_uri'  => 'https://ser-dev.sito.it/MS_login/login',        'scope'         => 'User.Read profile openid email'    ); redirect($authUrl); 
    Ricevo questo errore :
    codice:
    AADSTS900561: The endpoint only accepts POST, OPTIONS requests. Received a GET request.

  2. #2
    Devi fare una richiesta POST. Il messaggio di errore te lo dice.

    Comunque:

    https://github.com/bcit-ci/CodeIgniter/wiki/OpenID
    http://www.2my4edge.com/2017/08/micr...deigniter.html
    Ultima modifica di filippo.toso; 10-03-2021 a 13:26

  3. #3
    Avevo capito che dovevo eseguire una richiesta POST QUINDI??

  4. #4
    Fai una chiamata POST come da documentazione ufficiale di Microsoft oppure usa una delle decine di librerie che esistono e supportano OpenID.

  5. #5
    Nei link sopra mi pare manchino le librerie.

    Ho cercato molto, ma non ho capito tanto.
    La documentazione ufficiale quale sarebbe.

    Aiutooo

  6. #6
    Ho poca pratica quindi mi è difficile capire/trovare una libreria adatta.
    Molte delle librerie fanno uso di composer e versioni aggiornare di PHP.

    Purtroppo per il momento sono costretto ha usare Codeigniter e il vecchio PHP 5.6.


  7. #7

    Oauth microsoft errore

    Non sono ancora riuscito a trovare una soluzione.
    ho cambiato un pò sistema sperando in meglio.
    Codice PHP:
      $authUrl 'https://login.microsoftonline.com/id/oauth2/authorize'
    $data   = array(        'client_id'     => ('id'),        'client_secret' => ('secret'),        'response_type' => 'code',        'redirect_uri'  => 'https://ser-dev.biblico.it/MS_login/login',        'scope' => 'https://graph.microsoft.com/.default',        'grant_type' => 'client_credentials',        'resource'=>"https%3A%2F%2Fmanagement.azure.com%2F",        'state'=>"12345"        //'response_mode'=>'form_post'    );  redirect($authUrl . '?' . http_build_query($data)); 
    poi
    Codice PHP:
        $auth $_GET['code'];    $resource_id "api://fid-applicazione/Login";    $data "client_id=".$client_id."&redirect_uri=".urlencode($redirect_uri)."&client_secret=".urlencode($client_secret)."&code=".$auth."&grant_type=authorization_code&resource=".$resource_id;    
    try     {                
    $ch curl_init();        curl_setopt($chCURLOPT_URL"https://login.microsoftonline.com/id/oauth2/v2.0/token");        
    curl_setopt($chCURLOPT_RETURNTRANSFERTRUE);            
    curl_setopt($chCURLOPT_HTTPHEADER, array( 'Content-Type: application/x-www-form-urlencoded', ));
    curl_setopt($chCURLOPT_POSTTRUE);
    curl_setopt($chCURLOPT_SSL_VERIFYPEERFALSE);        curl_setopt($chCURLOPT_POSTFIELDS$data);
    $output curl_exec($ch);    }     catch (Exception $exception)     {        var_dump($exception);
        }
    var_dump($output);  
      
    $out2 json_decode($outputtrue);    
    $get_access_token $out2['access_token'];   
    $get_refresh_token $out2['refresh_token'];   
    $arraytoreturn = Array( 'access_token' => $out2['access_token'],                             'refresh_token' => $out2['refresh_token'],                             'expires_in' => $out2['expires_in']                        );
    echo 
    "Get access toke and refresh token in office 365 using PHP<br>";    echo "access token :: ".$get_access_token."<br>";    echo "refresh token :: ".$get_refresh_token."<br>";        } 

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.