根据本文使用Owin将我的Windows服务应用程序设置为自托管:http://www.asp.net/web-api/overview/hosting-aspnet-web-api/use-owin-to-self-host-web-api我使用了WebApp.Start方法的重载:WebApp.StartMethod(String)这是我的代码://(instartupmethod)_server=WebApp.Start(BaseAddress);publicclassStartup{//ThiscodeconfiguresWebAPI.TheStartupclassisspec
我正在使用Microsoftasp.net身份的自定义实现,因为我有自定义表,这就是我为所有方法IUserStore和IUserPasswordStore提供自定义实现的原因。Problemiswhenuserloginsthenafter10-15minutesloginusersessiongetsexpiredbutwhatiwantisunlessuserlogsoutiwanttokeepuserloginintothesystem.代码:publicpartialclassStartup{publicvoidConfigureAuth(IAppBuilderapp){app
我正在尝试在WebAPI项目中将SimpleInjector与OWIN结合使用。但是,ConfigureAuth中的以下行失败app.CreatePerOwinContext(container.GetInstance);异常(exception)情况是ApplicationUserManager注册为“WebAPI请求”生活方式,但该实例是在WebAPI请求的上下文之外请求的。我正在使用container.RegisterWebApiRequest();在容器初始化中。(如果我使用Register而不是RegisterWebApiRequest不会有任何异常(exception),但
我正在尝试升级我的MVC网站以使用新的OpenIDConnect标准。OWIN中间件似乎非常健壮,但不幸的是只支持“form_post”响应类型。这意味着Google不兼容,因为它会在“#”后返回url中的所有标记,因此它们永远不会到达服务器并且永远不会触发中间件。我尝试自己触发中间件中的响应处理程序,但这似乎根本不起作用,所以我有一个简单的javascript文件来解析返回的声明并将它们发布到Controller操作进行处理。问题是,即使我在服务器端获取它们,我也无法正确解析它们。我得到的错误看起来像这样:IDX10500:Signaturevalidationfailed.Unab
我使用以下配置自行托管WebApi:VisualStudio2012/.NET4.0publicvoidConfiguration(IAppBuilderappBuilder){varconfig=newHttpConfiguration();//authenticationconfig.MessageHandlers.Add(newShield.PresharedKeyAuthorizer());//routingconfig.Routes.MapHttpRoute(name:"Default",routeTemplate:"{controller}/{id}",defaults:n
使用OwinSecurity,我试图使API具有2种身份验证方法。context变量(OAuthGrantResourceOwnerCredentialsContext)中是否有属性允许我访问客户端的IP地址strong>向API发送对身份验证token的初始请求?我的身份验证方法的基本片段如下所示:publicoverrideasyncTaskGrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContextcontext){awaitTask.Run(()=>{varremoteIpAddresss=con
我尝试让OpenIDConnect运行...我的WebAPI的用户设法获得了OpenIDConnect提供商的授权代码。我应该如何将此代码传递给我的ASP.NETWebAPI?我必须如何配置OWIN中间件才能使用授权码获取访问token?更新:SPA使用AJAX与我的Web服务(ASP.NETWebAPI)进行通信。在我的网络服务中使用OWIN中间件。我将OpenIDConnect设置为身份验证机制。当第一次调用Web服务时,它成功地将用户重定向到OpenIDConnect提供程序的登录页面。结果,用户可以登录并获得授权码。据我所知,此代码现在可以(通过我的网络服务)用于访问token
我遇到了与describedhere相同的问题我的设置几乎是identicaltothis这实际上是基于thisguide.当我在我的Controller中访问一个方法时,我得到了这个Anerroroccurredwhentryingtocreateacontrolleroftype'TestController'.Makesurethatthecontrollerhasaparameterlesspublicconstructor.这是堆栈跟踪atSystem.Web.Http.Dispatcher.DefaultHttpControllerActivator.Create(Http
我正在使用Owin、WebAPI、EntityFramework、ASP.NETIdentity创建API。我正在使用SimpleInjector作为我选择的DI框架。在Owin启动过程中,我想用一些样本数据为我的数据库做种。这是由实现IDatabaseInitializer的类处理的,它看起来像这样:publicclassMyDbInitializer:DropCreateDatabaseAlways{privatereadonlyIUserManager_userManager;publicMyDbInitializer(IUserManageruserManager){_user
我在.net和NUGet中发现的一件烦人的事情是,我永远不知道默认安装的是什么版本。在尝试向现有项目中添加内容时,这真的很令人沮丧......这是我目前的困境。我有一个只有MVC的MVC5项目。这个项目很大,将它转移到另一个项目的工作会花费太多时间。因此,我打开了NUGet并输入WebApi并安装了随附的那个。然后我创建了一个空白的WebApi项目,其中设置了个人帐户,并将启动代码连同所需的任何其他配置一起复制到我当前的启动中。然后我开始创建我的AccountController,它是直接从我创建的干净项目中复制的。它看起来像这样:[Authorize][RoutePrefix("ap