Asp.net mvc Web API[Authorize]属性,而无需用户登录或使用密码请求令牌?
如果我不明白,请纠正我。我正在使用从VS模板生成的新Web API应用程序Asp.net mvc Web API[Authorize]属性,而无需用户登录或使用密码请求令牌?,asp.net-mvc,oauth,asp.net-web-api,owin,katana,Asp.net Mvc,Oauth,Asp.net Web Api,Owin,Katana,如果我不明白,请纠正我。我正在使用从VS模板生成的新Web API应用程序 用户确实在Web API应用程序的登录页面上注册 用户似乎可以从Web API应用程序外部(从任何知道API/帐户URL的设备)注册,但它需要以纯文本形式传递敏感信息 示例值控制器具有[Authorize] 如果用户未登录,从浏览器访问/api/值将抛出401 即使用户已登录,从Fiddler访问/api/值也会抛出401。这是因为它需要Authorize:Bearer头,而访问令牌在web应用程序外部是不可用的 我们
- 用户确实在Web API应用程序的登录页面上注册
- 用户似乎可以从Web API应用程序外部(从任何知道API/帐户URL的设备)注册,但它需要以纯文本形式传递敏感信息李>
- 示例
具有值控制器
[Authorize]
- 如果用户未登录,从浏览器访问/api/值将抛出401
- 即使用户已登录,从Fiddler访问/api/值也会抛出401。这是因为它需要Authorize:Bearer头,而访问令牌在web应用程序外部是不可用的
- 我们可以使用令牌端点从应用程序外部请求令牌,但使用内置令牌端点需要发送用户的用户名和密码作为纯文本
假设我能够从客户端生成一个可接受的访问令牌。
[Authorize]
属性是否仍会阻止访问,因为用户技术上不会登录?或者,[Authorize]
如果没有导致401,用户是否实际登录?当当前IIdentity
的Isauthorized
属性为false时,authorized属性将阻止访问。这与访问令牌完全分离。您的步骤正常。但我认为你把对最后一部分的理解与cookies身份验证和令牌身份验证混为一谈
[Authorize]属性是否仍会阻止访问,因为用户
技术上不会登录吗?或者[授权]是否实际记录
如果它没有导致401,那么用户会在中吗
使用cookie身份验证时,用户在技术上需要登录,并且服务器上需要存在有效会话,这将是一个问题
但是,令牌身份验证的情况并非如此。只要您拥有有效的承载令牌,就可以从任何设备访问api