最佳实践:我应该为每个用户提供单独的 OAuth 客户端凭据,还是应该为每个应用程序提供一个或几个凭据?
Best practice: Should I have separate OAuth client credentials for each user or should I just one or few for per app basis?
我正在为我的一个桌面应用程序使用 GCP(Google 云平台)的应用程序。我需要通过 oAuth 凭据对用户进行身份验证才能在 GCP 上使用该应用程序。为此,我现在创建了一个凭证,它在测试环境中运行良好。但是,我的应用程序会有很多用户,现在我对如何以编程方式为每个用户创建凭据有疑问。所以在这样做之前的问题是
创建单独的 oAuth 客户端凭据每个应用程序的基础是否是最佳实践?在这种情况下,我可以在 GCP 控制台上管理凭据,因为它只有很少的凭据。
或者为每个用户创建单独的 oAuth 客户端凭据 是最佳做法吗?在这种情况下,我将需要以编程方式为每个用户创建凭据,例如通过 REST API。我如何以编程方式执行此操作?
您的架构有点不清楚(您所说的“使用来自 GCP 的应用程序”究竟是什么意思?),但我知道您正在尝试通过您正在开发的桌面应用程序对用户进行身份验证,以便与Google 作为经过身份验证的用户的 API。
在那种情况下,您通常需要创建一个 OAuth 客户端 ID 来验证应用程序本身。然后,该应用程序将要求最终用户使用他们自己的凭据进行身份验证,以便您的应用程序检索可用于调用相关 API 的访问令牌。
您可以在此处的文档中找到有关身份验证流程的更多详细信息:https://developers.google.com/identity/protocols/oauth2/native-app
我正在为我的一个桌面应用程序使用 GCP(Google 云平台)的应用程序。我需要通过 oAuth 凭据对用户进行身份验证才能在 GCP 上使用该应用程序。为此,我现在创建了一个凭证,它在测试环境中运行良好。但是,我的应用程序会有很多用户,现在我对如何以编程方式为每个用户创建凭据有疑问。所以在这样做之前的问题是
创建单独的 oAuth 客户端凭据每个应用程序的基础是否是最佳实践?在这种情况下,我可以在 GCP 控制台上管理凭据,因为它只有很少的凭据。
或者为每个用户创建单独的 oAuth 客户端凭据 是最佳做法吗?在这种情况下,我将需要以编程方式为每个用户创建凭据,例如通过 REST API。我如何以编程方式执行此操作?
您的架构有点不清楚(您所说的“使用来自 GCP 的应用程序”究竟是什么意思?),但我知道您正在尝试通过您正在开发的桌面应用程序对用户进行身份验证,以便与Google 作为经过身份验证的用户的 API。
在那种情况下,您通常需要创建一个 OAuth 客户端 ID 来验证应用程序本身。然后,该应用程序将要求最终用户使用他们自己的凭据进行身份验证,以便您的应用程序检索可用于调用相关 API 的访问令牌。
您可以在此处的文档中找到有关身份验证流程的更多详细信息:https://developers.google.com/identity/protocols/oauth2/native-app