首页 > 解决方案 > 在服务层设置访问令牌的更好方法

问题描述

我们正在创建一个 Blazor 服务器端项目 (Web),并且我们确实有另一个项目 (Services),其中包含所有服务,并且这些服务是在 Web 项目初始化时注入的。

问题是:这些服务使用一个 API,每次调用都需要一个不记名令牌。所以目前,每个 Service 方法都包含一个AccessToken参数,就像:

public async Task<PagedList<Entity>> GetEntitiesAsync(string accessToken)
{
    var client = new RestClient ...
    var request = new RestRequest(Method.GET);
    request.AddHeader("authorization", $"Bearer {accessToken}");
    ...
}

对于每种服务方法,这种情况都会持续下去。我正在考虑如何“注入”该访问令牌。但是好像没找到怎么...

Web初始化时我不知道 JWT,因为没有用户登录。所以我必须等待,但在那之后呢?如何?继续将 accessToken 作为参数传递给我,这听起来像是非常糟糕的代码。

谢谢。

标签: design-patternsjwtblazor-server-side

解决方案


推荐阅读