RequestContext Principal 始终为空
RequestContext Principal always null
我已经创建了一个令牌 .NET web API 端点来获取 OAuth 不记名令牌。检索令牌后,我调用 API 的另一个端点,并传入授权 header 我的不记名令牌,但如果我检查 RequestContext 中的委托人,它始终为空。为什么我的 owin 服务器没有创建主体 object.
这样注册我的授权提供者是否正确:
builder.RegisterType<SimpleAuthorizationServerProvider>()
.As<IOAuthAuthorizationServerProvider>()
.PropertiesAutowired()
.SingleInstance();
或者应该是.InstancePerRequest()。但是,如果我根据请求使用实例,则会收到错误消息。有没有人有这个用例的工作示例。
我非常绝望,因为我尝试了多个示例但没有解决。这甚至是我关于这个问题的第二个线程 (),但我认为我的问题出在 autofac 上,因为它是与其他工作示例的唯一区别。
这个答案解决了我的问题
更改 GrantResourceOwnerCredentials 方法以解析我的用户 class:
var autofacLifetimeScope = OwinContextExtensions.GetAutofacLifetimeScope(context.OwinContext);
var userBl = autofacLifetimeScope.Resolve<IUserBl>();
而不是使用autofac的注入
我已经创建了一个令牌 .NET web API 端点来获取 OAuth 不记名令牌。检索令牌后,我调用 API 的另一个端点,并传入授权 header 我的不记名令牌,但如果我检查 RequestContext 中的委托人,它始终为空。为什么我的 owin 服务器没有创建主体 object.
这样注册我的授权提供者是否正确:
builder.RegisterType<SimpleAuthorizationServerProvider>()
.As<IOAuthAuthorizationServerProvider>()
.PropertiesAutowired()
.SingleInstance();
或者应该是.InstancePerRequest()。但是,如果我根据请求使用实例,则会收到错误消息。有没有人有这个用例的工作示例。
我非常绝望,因为我尝试了多个示例但没有解决。这甚至是我关于这个问题的第二个线程 (
这个答案解决了我的问题
更改 GrantResourceOwnerCredentials 方法以解析我的用户 class:
var autofacLifetimeScope = OwinContextExtensions.GetAutofacLifetimeScope(context.OwinContext);
var userBl = autofacLifetimeScope.Resolve<IUserBl>();
而不是使用autofac的注入