【发布时间】:2013-12-15 03:43:37
【问题描述】:
我有一个 Api 控制器,它为获取请求返回图像。我想授权这个请求。所以我将 Authorize 属性添加到操作中。我正在使用 Asp.net Identity 框架进行授权。当我运行我的应用程序时,我使用通过 ajax 发送到 /Token 的用户名/密码登录到应用程序。然后我得到 access_token 并存储它。问题是当我使用 src 属性(该 src 指向上述 api 控制器)引用图像标签时,我没有办法用它发送访问令牌。我将如何实现?
public partial class Startup
{
static Startup()
{
PublicClientId = "self";
UserManagerFactory = () => new UserManager<User>(new UserStore<User>(new ImagePerfektDbContext()));
OAuthOptions = new OAuthAuthorizationServerOptions
{
TokenEndpointPath = new PathString("/Token"),
Provider = new ApplicationOAuthProvider(PublicClientId, UserManagerFactory),
AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
AccessTokenExpireTimeSpan = TimeSpan.FromDays(14),
AllowInsecureHttp = true
};
}
public static OAuthAuthorizationServerOptions OAuthOptions { get; private set; }
public static Func<UserManager<User>> UserManagerFactory { get; set; }
public static string PublicClientId { get; private set; }
public void ConfigureAuth(IAppBuilder app)
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login")
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseOAuthBearerTokens(OAuthOptions);
【问题讨论】:
-
我们谈论的是 MVC 应用程序还是 Web 表单应用程序?我很困惑
-
这是一个 MVC 5 应用程序
标签: c# asp.net asp.net-web-api asp.net-identity owin