我有兩個應用程序,一個是web-api應用程序(y.x.com)和一個是前端應用程序(z.x.com)。爲了驗證訪問zxcom的用戶,我使用ws-federation或Microsoft Live登錄後,使用visual studio 2015提供的web api模板代碼。如果我直接從瀏覽器,郵遞員,提琴手或者網頁瀏覽器訪問web api應用程序(yxcom)任何類似的身份驗證工作正常,但如果我嘗試登錄從前端應用程序,我得到error: invalid_request
(狀態400)。從前端應用程序使用ws-federation登錄應用程序
現在我想知道是否可以通過調用y.x.com/Account/ExternalLogin?provider=Federation&response_type=token&client_id=self&redirect_uri=http://y.x.com
從應用程序z.x.com登錄。
我在y.x.com startup.auth看起來像這樣
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);
我可以提供更多的代碼,但我對是否應該在所有的工作最感興趣。 謝謝。