我们正在使用租户解析的基本路径(即/租户/ Api /控制器)实施web api项目
我们遇到了为租户实施身份验证代码的问题。我们希望有一个/ {Tenant} / Token来启用身份验证请求,具体取决于租户。但是,我们似乎无法在OAuthAuthorizationServerOptions中映射令牌端点。
欢迎提出我们应该如何进行的任何指示。
答案 0 :(得分:4)
OAuth2 AS MW有一个名为OnMatchEndpoint的事件,其中yuo可以确定传入请求是授权请求还是令牌请求。它适用于这种确切类型的检查。
这样的事情:
var authSvr = new OAuthAuthorizationServerOptions
{
AllowInsecureHttp = true,
AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Passive,
//AuthorizeEndpointPath = new PathString("/authorize"),
Provider = new OAuthAuthorizationServerProvider
{
OnMatchEndpoint = async ctx =>
{
if (ctx.Request.Uri.LocalPath == "/authorize")
{
ctx.MatchesAuthorizeEndpoint();
}
},
除了你的,否则你会更有活力地检查租户的ctx.Request.Uri.LocalPath
。