保护Web API /令牌端点

时间:2014-05-12 17:10:59

标签: api ssl web asp.net-web-api access-token

我有一个Web API项目,遵循此处概述的基本帐户身份验证过程:http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api。我的问题是我应该用SSL(或其他东西)保护/ Token enpoint吗?否则,对“myURL / Token”的API调用只是通过明文发送,其中包含用户名和密码?

我在Web API SSL上阅读了这篇文章:http://www.asp.net/web-api/overview/security/working-with-ssl-in-web-api但我不知道应该在哪里放置[RequireHttps]属性,因为/ Token enpoint实际上不是控制器操作。

感谢您提供的任何指导!

1 个答案:

答案 0 :(得分:5)

是的,您应该将令牌端点设置为安全。

在OAuthurizationServerOptions下的Setup.Auth.cs文件中,您可以指定令牌端点是否需要SSL。

OAuthOptions = new OAuthAuthorizationServerOptions
  {
    TokenEndpointPath = new PathString("/Token"),
    Provider = new ApplicationOAuthProvider(PublicClientId),
    AuthorizeEndpointPath = new PathString("/api/Account/ExternalLogin"),
    AccessTokenExpireTimeSpan = TimeSpan.FromMinutes(20),
    AllowInsecureHttp = false
  }; 

AllowInsecureHttp会强制网址为SSL。