gpt4 book ai didi

api - 保护移动应用程序上的第三方 API 调用

转载 作者:行者123 更新时间:2023-12-04 19:01:59 25 4
gpt4 key购买 nike

我有一个使用以下方法的 API:

https://api.example.com/services/dosomething

我正在为三个不同的移动应用程序提供这项服务,每个应用程序都有数百名用户。当用户登录移动应用程序时,需要调用我的 API。

我知道为三个移动应用程序中的每一个提供不同的 API key 并执行 HTTP 基本认证 使用它是不安全的,因为 API key 将不安全地存储在设备中,任何人都可以拿走它并恶意使用它。

的方法| OAuth2 不起作用,因为我只有我的三个客户的信息,而不是他们的数百个用户。

在移动设备上保护对我的 API 的调用的最佳方法是什么?

最佳答案

在您的情况下,您使用 OAuth2 的方法很好:移动应用程序(客户端)接收来自资源所有者(您的用户)的委托(delegate),以调用资源服务器(您的 API)上的 protected 资源。

您只有有关您的客户端的信息,因为 OAuth2 并非专门用于验证您的用户,而是用于授权您的客户端。
客户端使用客户端 ID 标识。在您的情况下,如果您想知道哪个客户端调用您的资源服务器,那么每个客户端都应该有一个专用的客户端 ID。您还可以使用其他信息来识别它,例如它发送的请求中的 IP 地址或自定义 header 。

如果你想知道你的用户是谁,你应该实现 OpenID Connect延期。此扩展在基于 OAuth2 的授权服务器之上工作。
用户的认证由授权服务器执行。一个 ID token 与用户的信息一起发布。客户端(或移动应用程序)不必获取或存储用户的凭据。

有一个excellent video where the both protocols are explained (尤其是从 4:44 到 11:00)。

关于api - 保护移动应用程序上的第三方 API 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35357892/

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