gpt4 book ai didi

oauth - 外部 API 调用我的 API 使用 Azure Active Directory 保护

转载 作者:行者123 更新时间:2023-12-01 02:00:43 25 4
gpt4 key购买 nike

如果我有一个使用 Azure Active Directory 保护的 API,当外部 API 想要与我的内部 API 通信时,流程是什么?

这只是正常的 API 到 API 调用,还是这是一种特殊情况,需要以不同的方式处理?

最佳答案

这只是正常的 API 到 API 调用,还是这是一种特殊情况,需要以不同的方式处理?
特殊情况可能取决于这些 API 提供的资源的 secret 性以及您的应用程序需要的安全级别。最后,它只是一个 api 到 api 调用。
如果 Azure Active Directory (AAD) 是整个应用程序的身份提供者,则可以使用两种方法。
AAD 提供的具有 OAuth 2.0 客户端凭据授权的应用程序身份。调用 API 使用其客户端 ID、客户端密码(凭证)和应用程序 ID(被调用者 API 的唯一 ID)向 AAD token 端点发出请求,以接收访问 token 作为响应。此 token 用作 Bearer token 以调用下游 API。在这种方法中,用于访问 token 的客户端 ID、客户端密码、应用程序 ID 是静态值。有权访问这些值的某些人可能会找到一种破坏应用程序安全性的方法(极不可能)。
第二种方法是使用 OAuth 2.0 授权用户身份。向 AAD token 端点发出请求,其中包含客户端 ID、客户端密码、作为调用 tier1 API 的一部分接收的访问 token 和一个特殊的 on_behalf_of 参数以接收访问 token 、刷新 token 作为响应。我们更喜欢这种方法,因为它使用动态值(来自 tier1 api 的访问 token )并且还提供刷新 token 。
您可以阅读有关这些方法的更多信息 here
如果您不想使用 AAD,可以使用 OwinAuthenticationMiddleware 中内置的 asp.net 来生成和验证您自己的访问 token 。如前所述,这完全取决于您的应用程序要求和实现细节,但最终它是 API 到 API 的调用。
希望这对您有所帮助,如果您有任何问题,请告诉我。
谢谢,
索玛。

关于oauth - 外部 API 调用我的 API 使用 Azure Active Directory 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36774978/

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