网站首页 网站源码
website
站点相关全部源代码,隐藏了一些关于服务器的信息
using System.Security.Claims;
using Dpz.Core.Public.ViewModel;
using Dpz.Core.Service.RepositoryService;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using OpenIddict.Validation.AspNetCore;

namespace Dpz.Core.Auth.Controllers;

public class HomeController : Controller
{
    public async Task<IActionResult> Index([FromServices] IAccountService accountService)
    {
        VmUserInfo? userInfo = null;
        if (User.Identity?.IsAuthenticated == true)
        {
            var account = User.NameIdentifier;
            userInfo = await accountService.GetOneUserAsync(account);
        }
        return View(userInfo);
    }

    /// <summary>
    /// 用户信息
    /// </summary>
    /// <returns></returns>
    [Authorize(AuthenticationSchemes = OpenIddictValidationAspNetCoreDefaults.AuthenticationScheme)]
    [HttpGet("~/connect/userinfo")]
    public IActionResult GetUserInfo()
    {
        var scopes = User.FindAll("oi_scp").Select(c => c.Value);
        var claims = User
            .Claims.Where(c => !c.Type.StartsWith("oi_"))
            .ToDictionary(c => c.Type, c => c.Value);
        claims["scope"] = string.Join(" ", scopes);
        return Ok(claims);
    }

    [Route("robots.txt")]
    public IActionResult Robots()
    {
        return Content("User-agent: *\nDisallow: /", "text/plain");
    }
}
loading