我有一个使用Identity Server 4并且注册和登录路由有效的API。但是,我使用[Authorized]
保护的内容为404
提供了或不使用授权标头。如果我从路线中移除[Authorized]
,它就会被击中。可能是什么问题?
这是控制器:
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
namespace Security.API.Controllers
{
[Route("[controller]")]
public class AccountController : Controller
{
private readonly IAccountService accountService;
public AccountController(IAccountService accountService)
{
this.accountService = accountService;
}
[HttpGet("")]
public string Get()
{
return "You are seeing this because account controller is working fine!";
}
[Authorize]
[HttpGet("getauthorized")]
public string GetAuthorized()
{
return "This is authorized okay.";
}
...
第一条路线被击中,第二条路线没有
答案 0 :(得分:2)
您需要在依赖方上放置[授权]属性,这意味着您的网络应用程序正在调用网络api。身份服务器通过令牌身份验证来保护您的Web apis。