如果我只有一个用户使用 WebApp,哪种实现是最好的?

问题描述 投票:0回答:1

我上次编写 WebApi 时,它是一个具有多个帐户和用户的解决方案。我将 EF 和 MSSQL 与 JWT 令牌一起使用。 现在我有另一种情况。我有一个 WebApi,它将从另一个程序中调用,只有这个。使用 EF 和数据库,感觉我有点大材小用了。 是否有可能仅设置一个帐户/用户(可能是硬编码)来使用 API?

我用谷歌搜索了一下,遗憾的是没有找到。

asp.net-core asp.net-core-webapi
1个回答
2
投票

你不需要用户,而是API认证/授权方法,例如:

1。使用 API 密钥

客户端可以在您从服务器端检查的请求标头中发送 API 密钥。这可以在服务器中硬编码,也可以在简单模式中对键进行数据库查找。

使用数据库,您可以获得有关密钥所有者的更多上下文,并动态添加/删除它们。\

这里是一个示例(它使用Phoesion Glow框架,但与asp.net相同) 这是身份验证中间件部分

2。使用 JWT

您不需要用户/身份服务器等来使用 JWT,您可以使用对称加密生成令牌,其中包含您希望令牌包含的所有声明。

(多做一点工作,您还可以使用非对称加密来签署令牌并将其提供给其他 api 使用者) \

这是使用此方法的示例

3.使用 HMAC

您可以使用加密和哈希来验证来自客户端的请求是否有效。在此方法中,您对内容进行哈希处理并使用密钥对其进行签名,然后在请求的标头中发送签名

有关 HMAC 的更多信息请参见此处此处(特定于 Azure)

(免责声明:我上面提到的示例是我写的,因为我是Phoesion Glow的开发者)

© www.soinside.com 2019 - 2024. All rights reserved.