Ich habe zwei Anwendungen, eine Web-API-Anwendung (y.x.com) und eine Front-End-Anwendung (z.x.com). Um den Benutzer zu authentifizieren, der zxcom besucht, benutze ich ws-föderation oder microsoft live login nach dem von Visual Studio 2015 zur Verfügung gestellten Web-API Template Code. Wenn ich direkt mit der Web-API-Anwendung (yxcom) von meinem Browser, Postboten, Fiddler oder alles ähnliche funktioniert die Authentifizierung gut, aber wenn ich versuche, mich von der Front-End-Anwendung anzumelden, bekomme ich error: invalid_request
(Status 400).Anmeldung in einer Anwendung mit ws-Federation von Front-End-Anwendung
Nun frage ich mich, ob es möglich sein sollte, sich von der Anwendung z.x.com aus anzumelden, indem Sie y.x.com/Account/ExternalLogin?provider=Federation&response_type=token&client_id=self&redirect_uri=http://y.x.com
anrufen.
Mein startup.auth in y.x.com sieht wie folgt aus
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId),
AuthorizeEndpointPath = new PathString("/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
// In production mode set AllowInsecureHttp = false
AllowInsecureHttp = true
};
// Enable the application to use bearer tokens to authenticate users
app.UseOAuthBearerTokens(OAuthOptions);
var wsOptions = new WsFederationAuthenticationOptions
{
MetadataAddress = "https://login.microsoftonline.com/afd2d5a6-bdb1-43f8-a42b-83ec49f1f22d/federationmetadata/2007-06/federationmetadata.xml",
Wtrealm = "http://y.x.com/",
Notifications = new WsFederationAuthenticationNotifications()
};
app.UseWsFederationAuthentication(wsOptions);
ich mehr Code zur Verfügung stellen kann, aber ich bin meistens interessiert, wenn sollte bei allen. Danke.