如何排除特定的控制器操作需要身份验证?
How do I exclude a specific controller action from needing authentication?
背景
我正在使用 Identity Server 3 向 API 添加自我检查,由 OAuth2 保护。我为此添加了一个 MonitoringController
,检查集有限。
我想做的主要检查是确保可以使用固定的测试凭据请求令牌。
我们的监控系统可以定期调用此操作并确保可以请求令牌,这是比仅保持活动 ping(我们也有)更强大的检查。
不过
由于整个 API 都在进行身份验证,因此默认情况下 MonitoringController
也是如此。
这意味着我的令牌请求检查不被允许。必须首先请求令牌会破坏此检查的全部目的。
How can I exclude my MonitoringController from needing authentication,
while making sure all other controllers are still checked?
您应该能够将 AllowAnonymous
属性放在控制器或方法上。
[AllowAnonymous]
public async Task<IHttpActionResult> DoSomeMonitoring()
背景
我正在使用 Identity Server 3 向 API 添加自我检查,由 OAuth2 保护。我为此添加了一个 MonitoringController
,检查集有限。
我想做的主要检查是确保可以使用固定的测试凭据请求令牌。
我们的监控系统可以定期调用此操作并确保可以请求令牌,这是比仅保持活动 ping(我们也有)更强大的检查。
不过
由于整个 API 都在进行身份验证,因此默认情况下 MonitoringController
也是如此。
这意味着我的令牌请求检查不被允许。必须首先请求令牌会破坏此检查的全部目的。
How can I exclude my MonitoringController from needing authentication, while making sure all other controllers are still checked?
您应该能够将 AllowAnonymous
属性放在控制器或方法上。
[AllowAnonymous]
public async Task<IHttpActionResult> DoSomeMonitoring()