Ich habe eine API APP (sagen Rechner), auf dem ich AD-Authentifizierung mit Portal aktivieren. Ich habe die Calculator-API in den API-Verwaltungsdienst aufgenommen. Jetzt möchte ich, dass das OAuth-Token die Calculator-API aufruft. Ich lese dies postWie verbinde ich Azure AD authentifizierte API mit Oauth in API Management Service
In oben genannten, dass es erwähnt, erhalten Sie zuerst die Autorisierungscode & dann das Token. Ich habe alle AAD-Anwendungen gemacht & haben die Admin Zustimmung alles.
In APIM schrieb ich eine Politik den Autorisierungscode
<send-request mode="new" response-variable-name="responseObject" timeout="20" ignore-error="true"> <set-url>@("{{frontAuthServer}}?client_id={{clientId}}&response_type=code&redirect_uri={{FrontredirectUri}}&response_mode=query&resource={{scope}}")</set-url> <set-method>GET</set-method> </send-request> <return-response response-variable-name="existing response variable"> <set-status code="200" reason="OK" /> <set-header name="Content-Type" exists-action="override"> <value>application/json</value> </set-header> <set-body> @(new JObject(new JProperty("code",((IResponse)context.Variables["code"]).Body.As<JObject>())).ToString()) </set-body> </return-response>
zu bekommen, aber leider Autorisierungscode wird als Abfrageparameter in Reaktion kommenden & ich nicht in der Lage bin, es abzurufen Politik verwenden. Also ich will nur wissen, ob ich in die richtige Richtung gehe, Wenn ja, wie Abfrage Parameter aus der Antwort abrufen? ODER was wird der richtige Weg sein, dies zu tun? Ich folgte dem gleichen Weg mentioned here
aber kein Glück. Müssen Einstellungen vorgenommen werden? Fehle ich etwas?
Ich habe einige Änderungen vorgenommen. Ich habe var location = ((IResponse) context.Variables ["responseObject"]). Headers.GetValueOrDefault ("Location"); um den Ort zu bekommen. Es gibt null zurück. –
Ich bekomme nicht 302. Immer 200. –
Es wäre vorteilhaft, den gesamten OAuth-Fluss mit einem Werkzeug wie Fiddler zu verfolgen, um zu verstehen, welche Anfragen erledigt werden und welche Antworten eingehen und wo das Token ist. Nach allem, was bekannt ist, wäre es möglich, das Clientverhalten innerhalb einer Richtlinie zu replizieren, um ein Token zu erhalten. –