design-patterns - 在服务层设置访问令牌的更好方法
问题描述
我们正在创建一个 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 作为参数传递给我,这听起来像是非常糟糕的代码。
谢谢。
解决方案
推荐阅读
- javascript - 将名称和金额推送到 javascript 对象
- python - Python asyncio 重启协程
- android - GridView 不尊重 columnCount
- flutter - Flutter 中的 TextField 状态管理
- r - R使用doParallel按因子级别从多个文件中拆分大量数据集的有效方法
- javascript - 茉莉,业力,预期 0 为 1,'在找到的标签中找到'
- c# - GET 请求返回 400 错误响应
- abap - BAPI_GOODSMVT_CREATE 调用的强制参数?
- typescript - 泛型类型用作抽象类中的值
- html - 在反应而不是材料 UI 中使用 HTML 进行浮动按钮的问题