0
私はthis tutorialの特定のセクションに従っていますが、 "*"を使用するのが安全かどうか、または自分のドメイン名として入れるべきなのかどうか疑問に思っていますか?この状況では、アクセス制御 - 許可 - 起点OK?
public class SimpleAuthorizationServerProvider : OAuthAuthorizationServerProvider
{
public override async Task ValidateClientAuthentication(OAuthValidateClientAuthenticationContext context)
{
context.Validated();
}
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" });
using (AuthRepository _repo = new AuthRepository())
{
IdentityUser user = await _repo.FindUser(context.UserName, context.Password);
if (user == null)
{
context.SetError("invalid_grant", "The user name or password is incorrect.");
return;
}
}
var identity = new ClaimsIdentity(context.Options.AuthenticationType);
identity.AddClaim(new Claim("sub", context.UserName));
identity.AddClaim(new Claim("role", "user"));
context.Validated(identity);
}
}
彼らはapp.UseCorsを使用チュートリアル(Microsoft.Owin.Cors.CorsOptions.AllowAll)の別の部分で;.彼らはお互いに働いているのか、お互いを無視していますか? – chobo2
これらは一緒に使用できます - グローバルポリシーを定義してから、異なる要件を持つ特定のクラス/メソッドを装飾することによってグローバル設定をオーバーライドできます。 – Steveland83
これを次のように変更するとします。context.OwinContext.Response.Headers.Add( "Access-Control-Allow-Origin"、new [] {"MyDomain"}); pp.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);を取り消します。 – chobo2