我有一个React + GraphQL应用程序,它可以访问Google Cloud函数来运行一些代码。目前我允许未经身份验证的访问,但我希望将其锁定。我不知道如何在我的React应用程序中像这样进行身份验证:
fetch("https://REGION-PROJECT_ID.cloudfunctions.net/FUNCTION_NAME", {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Authorization': access_token // <-------- this is what I want
},
body: JSON.stringify(something)
}) 这个例子是在这个线程中描述的:https://github.com/googleapis/google-auth-library-nodejs/issues/775
我希望使用服务帐户进行身份验证,但我不想使用Node服务器。我是不是必须走API密钥路?
以下是认证云函数的文档:
https://cloud.google.com/functions/docs/securing/authenticating
谢谢!
发布于 2020-10-09 13:17:14
我知道我的用例应该有更好的解决方案。API Gateway是新的,所以当我在寻找选项时,它并没有出现。感谢您的回复。
发布于 2020-10-08 16:38:20
建议不要使用web应用程序中的服务帐户身份验证。但如果您需要在本地运行此应用程序以进行测试,我建议您可以使用google-auth-library。更多信息和代码示例可以在here中找到。
您还需要正在使用的服务帐户的"Cloud Functions Invoker“角色。
话虽如此,我建议您将您的身份验证卸载到专用身份验证提供商,如Firebase身份验证、Auth0或Okta。
https://stackoverflow.com/questions/64257494
复制相似问题