环境:.NET 4.6.1,ASP.NET MVC 2,Microsoft.Owin
应用情况
Owin配置为基于OAuth的身份验证(自己的数据库)。
未添加授权属性。是下一步
代码库
启动
public void Configuration(IAppBuilder app)
{
OAuthConfig oAuthConfig = new OAuthConfig(app, AppConfiguration);
oAuthConfig.ConfigureOAuthTokenGeneration();
oAuthConfig.ConfigureOAuthTokenConsumption();
WebApiConfig.Register(AppConfiguration);
app.UseWebApi(AppConfiguration);
// No further configuration is now allowed.
AppConfiguration.EnsureInitialized();
}
OAuthConfig
public OAuthConfig(IAppBuilder app, HttpConfiguration HttpConfiguration)
{
this.app = app;
if (OAuthConfig.HttpConfiguration == null)
OAuthConfig.HttpConfiguration = HttpConfiguration;
this.app.Use(async (ctx, next) =>
{
try
{
await next();
}
catch (OperationCanceledException)
{
// Eat this exception
}
});
}
public void ConfigureOAuthTokenGeneration()
{
var userStore = HttpConfiguration.DependencyResolver.GetService(typeof(IUserStore<ExtendedUser, string>)) as IUserStore<ExtendedUser, string>;
UserService.UserStore = userStore;
this.app.CreatePerOwinContext<UserService>(UserService.Create);
this.app.CreatePerOwinContext<SignInService>(SignInService.Create);
var issuer = ConfigurationManager.AppSettings["as:IssuerServer"];
var tokenEndpoint = ConfigurationManager.AppSettings["as:OwinTokenEndpoint"]; // "/oauth/token"
OAuthAuthorizationServerOptions oAuthServerOptions = new OAuthAuthorizationServerOptions()
杨魅力
相关分类