Ich hasse Oauth nicht, aber ich hasse mich selbst für nicht in der Lage, meinen Kopf um das Konzept zu wickeln. Nachdem ich das gesagt habe, hier ist meine Frage: Ich versuche, die Office Graph REST API von Vanille Javascript zu nennen. Also mache ich eine reguläre XMLHttpRequest zu graph.microsoft.com, von einer Seite, die auf meiner SharePoint Online-Site läuft (daher sollte der Code von meinem Sicherheitskontext ausgeführt werden, wenn ich eingeloggt bin). Der Aufruf gibt eine 403 Authentifizierung erforderlich zurück. Ich nehme an, dass ich eine App in Azure AD registrieren muss, und ich habe das getan, also habe ich eine Client-ID und ein Geheimnis. Jedoch kann ich nicht finden, was als nächstes programmgesteuert zu tun ist (I denken Ich verstehe das Konzept, ich muss ein Token erhalten, das ich zur Verfügung stellen muss, wenn ich das Diagramm api rufe). Es scheint, dass es Tonnen von Beispielcode für fast alles gibt, mit Ausnahme von Javascript. Hat jemand Zeiger?Büro 365 Graph API von javascript: Wie man richtig authentifizieren
Update: Ich kenne die Beteiligung des Token, und das ist der Teil, den ich nicht meinen Kopf wickeln kann (siehe ursprüngliche Frage/Kommentar); Ich habe eine Client-ID, Ich habe ein Geheimnis, und ich habe diese (sehr häufig) Code:
function graphRead(whatToRead) {
switch(whatToRead) {
case "userinfo" :
officeUser = JSON.Parse(loadXMLDoc("GET","https://graph.microsoft.com/v1.0/me"));
break;
default:
};
};
function loadXMLDoc(mMethod,uURL) {
var xmlhttp;
if (window.XMLHttpRequest) {
// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
} else {
// code for IE6, IE5
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == XMLHttpRequest.DONE) {
if(xmlhttp.status == 200){
return(xmlhttp.responseText);
}
else if(xmlhttp.status == 400) {
alert('There was an error 400')
}
else {
alert('something else other than 200 was returned')
}
}
};
xmlhttp.open(mMethod, uURL, true);
xmlhttp.send();
};
Frage ist: Was muss ich tun, um das Token zu etablieren und an die API senden?
Ich sehe, wohin du gehst, aber ich bin verwirrt. Dies ist in der Tat vollständig Client-Seite, aber hier ist die Sache: Dies ist auf einer SharePoint-Website, so dass der Benutzer bereits angemeldet ist. Ich verstehe nicht vollständig, warum ich noch einen anderen Sicherheitskontext benötigen würde, aber wenn ich das tue, t Sehen Sie, wie Sie die relevanten Informationen in die Graphik-API einspeisen. –
Sie müssen ein Token erhalten, und wenn Sie ein Token erhalten *, * müssen Sie möglicherweise Anmeldeinformationen eingeben. Wenn sie jedoch bereits bei O365 angemeldet sind, kann dies nicht der Fall sein. aber aus Ihrer Perspektive sind die Anfrage und Antwort die gleichen. Sobald Sie ein Token erhalten haben, fügen Sie es als Autorisierungskopf hinzu, der mit Bearer beginnt, gefolgt von Ihrem Token, wie 'Bearer eyJ0eXAiO ...' – lgaud
Vielen Dank für Ihr Feedback. Ich habe meine Frage ausgearbeitet, da ich den Punkt vermisse. –