Oauth 2.0 将Google云端点验证为iOS应用程序(不是具有Google帐户凭据的用户)

Oauth 2.0 将Google云端点验证为iOS应用程序(不是具有Google帐户凭据的用户),oauth-2.0,google-cloud-endpoints,service-accounts,Oauth 2.0,Google Cloud Endpoints,Service Accounts,我的一个iOS应用程序使用谷歌云端点与我的一个服务联系,我想限制该应用程序的实例访问该服务 我已按照有关添加的说明创建了一个iOS客户端ID,该ID与我的应用程序包ID和应用程序商店ID绑定。我现在很难理解这部分内容: 如果您的iOS应用程序正在调用需要 身份验证时,必须向iOS客户端添加登录对话框 我不希望我的用户登录,而是希望我的应用程序在没有用户交互的情况下向服务提供其凭据以进行身份验证。我认为,由于客户端ID(可能是加密的)与客户端ID和bundle ID绑定,因此只有应用程序(不知何故

我的一个iOS应用程序使用谷歌云端点与我的一个服务联系,我想限制该应用程序的实例访问该服务

我已按照有关添加的说明创建了一个iOS客户端ID,该ID与我的应用程序包ID和应用程序商店ID绑定。我现在很难理解这部分内容:

如果您的iOS应用程序正在调用需要 身份验证时,必须向iOS客户端添加登录对话框

我不希望我的用户登录,而是希望我的应用程序在没有用户交互的情况下向服务提供其凭据以进行身份验证。我认为,由于客户端ID(可能是加密的)与客户端ID和bundle ID绑定,因此只有应用程序(不知何故)能够这样做,并且客户端ID将有效地充当服务帐户


谷歌云端点(针对iOS客户端)是否支持这种类型的应用程序(而非用户)身份验证方案,还是我必须通过在应用程序级协议中传递一些秘密来进行自己的应用程序身份验证?以下是Android客户端的相关(未回答)问题

我现在得出的结论是,谷歌云端点只允许基于谷歌帐户凭据进行身份验证。我需要的是整个应用程序(不是它的用户)的凭证,类似于服务帐户或API密钥

我使用服务帐户进行服务器到服务器的通信。似乎不可能为应用程序创建服务帐户(与GAE应用程序相反)

GTLService
有一个属性
APIKey
。但是,如果我的客户端将其设置为我在Google Developer Console中为我的GAE应用程序创建的公共访问密钥(iOS密钥),服务器将返回错误
access Not Configured。请使用Google Developers Console为您的项目激活API
,但是没有(明显的)方法来配置非Google API,例如my service API


因此,在进一步通知之前,我将向我的应用程序级API请求添加一个API密钥,并在每个
@ApiMethod

中检查它。此外,我还有与您相同的错误(未配置访问权限。请使用Google开发者控制台为您的项目激活API)。你好吗?你在你的IOS代码中放了自己的API密钥吗?@Phil是的,现在我正在传递一个API密钥作为我的应用程序级协议的一部分。@Phil不确定你说的清除是什么意思。连接是通过HTTPS进行的。FWIK Google的API密钥将在HTTP头中传输,也就是说,在“clear”中传输。