gpt4 book ai didi

c# - 使用 DotNetOpenAuth 实现 API key

转载 作者:太空宇宙 更新时间:2023-11-03 20:16:10 26 4
gpt4 key购买 nike

我需要为我们将托管的一些 Web 服务实现身份验证。我想使用开放标准,所以我对 OAuth 很感兴趣。

我将为这些服务使用 WebAPI。

所以这就是我遇到麻烦的地方:我读过的大多数(或可能是全部)Api Key/OAuth 场景都涉及(在某些时候)坐在屏幕前的用户。

我需要将业务合作伙伴调用的 API 放在一起。调用将来自一个自动化流程——链中的任何地方都不会有人可以被重定向到具有登录凭据的网站。

但是,我不希望任何人过来调用我的服务。

因此,我了解了 OAuth,以及它如何使用共享 key 来签署每个请求,我认为这就是我所追求的。 (我会设置一个 session key ,或者可以考虑将其中一个参数设置为“滴答”值,并且只接受短时间内的请求等)

我有点希望我可以使用 DotNetOpenAuth 来完成这个(或类似的东西),但我遇到的每个示例都以“用户被重定向到登录页面”开头。我只需要“2 条腿”身份验证.

是否有使用 DotNetOpenAuth 来执行此操作的示例?

还有更好的方法吗?

最佳答案

如果您正在查看 OAuth 2,那么您描述的流程是 Client Credentials Grant

这种“两条腿”/“服务帐户”类型的流程没有基于网页的流程。

DotNetOpenAuth 支持客户端凭证授权。你可以看到它的一个例子here ;但是,请注意,即使作者声明它是“资源所有者密码凭证”授权,它实际上是客户端凭证授权。

上面的博文与最新的 DotNetOpenAuth 代码库有点不一致,但这些代码很快就被识别和修改了。

我认为 DotNetOpenAuth 目前只支持使用 Http Basic 身份验证颁发 Bearer token 。还有其他更奇特的扩展 OAuth 2 具有类似的流程,例如JSON Web Token (JWT) Profile for OAuth 2.0 Client Authentication and Authorization Grants (但如前所述,这还不是 DotNetOpenAuth 的一部分)。

关于c# - 使用 DotNetOpenAuth 实现 API key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16575365/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com