Kein ‘Access-Control-Allow-Origin’-Header mit Microsoft Online Auth

Lesezeit: 2 Minuten

Kein Access Control Allow Origin Header mit Microsoft Online Auth
Rijanat

Ich versuche, eine einfache Anforderung zum Abrufen eines Zugriffstokens mithilfe des OAuth-Endpunkts von Microsoft Graph zu stellen. Wenn ich die einfache Anfrage unten sende, bekomme ich

Auf der angeforderten Ressource ist kein Header „Access-Control-Allow-Origin“ vorhanden. Origin ‘localhost:8080/myapprunninglocally’ wird daher kein Zugriff gewährt.**”

var xhttp = new XMLHttpRequest();
xhttp.open("GET", "https://login.microsoftonline.com/common/oauth2/authorize?client_id=<client_id>&scope=wl.signin%20wl.calendars_update&response_type=token&redirect_uri=localhost:8080/myapprunninglocally", true);
xhttp.send();

Ich habe diese App auch mit Microsoft Azure Directory registriert, ALLE Berechtigungen angefordert und die delegierte client_id.

Ich habe mich über CORS informiert und bin mir der Cross-Origin-Richtlinien bewusst. Mir ist jedoch bewusst, dass es APIs gibt, die Endpunkte verfügbar machen, die die enthalten 'Access-Control-Allow-Origin' in ihren Antwortheadern. Kann jemand helfen?

Sie werden das nicht vom Client aus ausführen können. Ein Teil der CORS-Einrichtung erfordert, dass microsoftonline.com Ihre Domäne zu ihrer CORS-unterstützten Positivliste hinzufügt.

Ich würde vorschlagen, dass Sie einen Dienst auf Ihrem Server aufrufen, der dann die Anfrage von Server zu Server stellt.

1644311226 748 Kein Access Control Allow Origin Header mit Microsoft Online Auth
Gary Liu

Um AAD in Javascript zu integrieren, empfehlen wir Ihnen die Verwendung von azure-activedirectory-library-for-js Dies ist eine Bibliothek in Javascript für das Frontend, um AAD problemlos zu integrieren.

Es gibt zwei Optionen, auf die wir achten müssen, bevor wir ADAL für JS verwenden:

Hier ist das Codebeispiel zum Abrufen des Zugriffstokens von Microsoft Graph:

<script src="https://secure.aadcdn.microsoftonline-p.com/lib/1.0.14/js/adal.min.js"></script>

<body>
<a href="#" onclick="login();">login</a>
<a href="#" onclick="getToken()">access token</a>
</body>
<script type="text/javascript">
    var configOptions = {
        tenant: "<tenant_id>", // Optional by default, it sends common
        clientId: "<client_id>",
        postLogoutRedirectUri: window.location.origin,
    }
    window.authContext = new AuthenticationContext(configOptions);

    var isCallback = authContext.isCallback(window.location.hash);
    authContext.handleWindowCallback();

    function getToken(){
        authContext.acquireToken("https://graph.microsoft.com",function(error, token){
            console.log(error);
            console.log(token);
        })
    }
    function login(){
        authContext.login();
    }
</script>

.

820710cookie-checkKein ‘Access-Control-Allow-Origin’-Header mit Microsoft Online Auth

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy