kann jemand erklären, warum der erste Anruf auf einer Azure-Add-in mit OpenIdConnectAuthentication von Sharepoint Online hat die Url:Verschiedene URL der auf Azure-Add-in Call
https://login.microsoftonline.com/tenantGuid/oauth2/authorize?client_id=xxx&response_mode=form_post&response_type=code+id_token&scope=openid+profile&state=OpenIdConnect.AuthenticationProperties%...
und der zweite Aufruf hat die URL
https://yyy.sharepoint.com/_layouts/15/online/cloudappsredirect.aspx?addintype=FileHandler&usemds=false&appurl=https%...¶ms
Gibt es eine Möglichkeit, die Parameter von Url2 auch vom ersten Aufruf zu erhalten?
EDIT
Haben Sie einen Tipp von einem Kumpel und aus dem GPX file handler Code.
In den Benachrichtigungen der OpenIdConnectAuthenticationOptions können Sie die RedirectToIdentityProvider Func angeben. Hier können Sie alle notwendigen Informationen des Query-Strings in einem Cookie speichern, da Session hier nicht funktioniert.
RedirectToIdentityProvider = (context) =>
{
var directoryAndFilenameReferrer = System.Web.HttpContext.Current.Request.UrlReferrer.Query.Split('&').Where(x => x.StartsWith("itemurl", StringComparison.Ordinal)).FirstOrDefault();
var directoryAndFilename = System.Web.HttpUtility.UrlDecode(directoryAndFilenameReferrer).Split('/');
context.Response.Cookies.Append("cookie_Filename", directoryAndFilename[directoryAndFilename.Length - 1]);
return Task.FromResult(0);
}
Vergessen Sie nicht, den Cookie danach zu löschen.
danke für die Klärung des Autorisierungsdienstes. Mit ein wenig Trickiness ist es möglich, Dateiname und andere URL-Parameter des ersten Aufrufs in einem Cookie zu speichern, wie ich oben in meiner Bearbeitung geschrieben habe. – djHonda