| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- using DopInterfacePlatform.Interface;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Http;
- using Microsoft.AspNetCore.Mvc;
- using Microsoft.Extensions.Configuration;
- using Microsoft.Extensions.Options;
- using System.Security.Claims;
- namespace DopInterfacePlatform.Controllers
- {
- [Route("api/[controller]")]
- [ApiController]
- public class TokenController : ControllerBase
- {
- public IJwtService _jwtService { set; get; }
- private IConfiguration _configuration;
- public TokenController(IJwtService jwtService, IConfiguration configuration)
- {
- _jwtService = jwtService;
- _configuration = configuration;
- }
- [AllowAnonymous]
- [HttpGet]
- [Route("token")]
- public string GetToken()
- {
- JwtOptions jwtOptions=new JwtOptions();
- jwtOptions.ExpireSeconds = Convert.ToInt32(_configuration["JWT:ExpireSeconds"]);
- jwtOptions.Issuer = _configuration["JWT:Issuer"];
- jwtOptions.Audience = _configuration["JWT:Audience"];
- jwtOptions.Key = _configuration["JWT:Key"];
- List<Claim> claims = new List<Claim>();
- claims.Add(new Claim(ClaimTypes.Name, "用户1"));
- claims.Add(new Claim(ClaimTypes.Role, "超级管理员"));
- return _jwtService.BuildToken(claims, jwtOptions);
- }
- }
- }
|