1

我有一个 ASP.Net Core 2.2 Web API,它使用 Steam 登录来使用这个包进行身份验证。我的身份验证如下所示:

services.AddAuthentication(options =>
        {
            options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        })
      .AddCookie(options =>
      {
          options.LoginPath = "/Api/Login";
          options.LogoutPath = "/Api/Logout";
      })
      .AddSteam(opt => { opt.CallbackPath = "/Home/SteamCallback"; opt.ApplicationKey = "XXXX"; });

我在我的 react 应用程序中使用这个 API,我想登录,所以我在我的 react 项目中添加了这个来登录

<a href="https://localhost:44390/api/login">Via Steam</a>

并且 /api/login 将用户重定向回 react 的主页:

[HttpGet("/api/login")]
    public IActionResult Login(string provider="Steam")
    {
        return Challenge(new AuthenticationProperties { RedirectUri = "http://localhost:3000/" }, provider);
    }

我知道尝试这样授权是很愚蠢的,但我不知道怎么做。他们还说在这里使用 JWT 是不安全的,所以我不得不使用 cookie,但无法处理如何传递记录的数据以成功响应和获取数据。

4

0 回答 0