使用App Engine Flexible(Node.js)进行Google Cloud Endpoints自定义身份验证

杰弗里

Google Cloud Endpoints文档在可扩展服务代理配置文件中为自定义安全定义提供了此规范:

securityDefinitions:
    your_custom_auth_id:
        authorizationUrl: ""
        flow: "implicit"
        type: "oauth2"
        # The value below should be unique
        x-google-issuer: "issuer of the token"
        x-google-jwks_uri: "url to the public key"
        # Optional. Replace YOUR-CLIENT-ID with your client ID
        x-google-audiences: "YOUR-CLIENT-ID"

对于App Engine Flexible,有关如何实现此功能的文档非常少有没有人举过例子,或者他们证明这是可能的?特别是,authorizationUrl的接口是什么?我们是否可以放置授权服务的URL(该URL提供由可扩展服务代理验证的JWT令牌),以便如果令牌在AuthorizationURL中无效,则端点将重定向到该URL?

约旦

你是对的。“ authorizationUrl”是OpenAPI Swagger特定的注释,它指向登录表单URL端点,客户端使用该注释来检索实际的JWT(JSON Web令牌)。

客户端在登录后从您的App Engine应用程序检索JWT后,便可以使用它来授权对您的Cloud Endpoint API的请求。


您的Node.js App Engine应用程序将使用任何JWT签名库来生成JWT(auth0提供了自己的多种语言)。

要生成令牌,您将提供标准的“ JWT”和哈希头,并添加您的特定User对象的JSON有效负载(因为此令牌对于该特定用户应该是唯一的)以及您的秘密/公钥。

JWT库还应在生成JWT声明自动提供所需的JWT声明,只需确保您将库使用的颁发者以及您的“私钥/公钥”提供为“ x-google-issuer”和“ x- “ openapi.yaml”中即可google-jwks_uri”。


您可以按照JWT.io指南来了解有关如何生成和使用JWT的更多信息。您还可以按照特定的App Engine Flexible指南应用进行编码以处理JWT。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Google App Engine中的自定义身份验证

使用自定义身份验证为Cloud Endpoints创建承载令牌

App Engine的Google Cloud Pubsub身份验证错误

使用Google Cloud Endpoints进行API身份验证

如何对 Google Cloud App Engine 任务处理程序进行身份验证

使用 Google App Engine Node.js 应用程序配置基本 HTTP 身份验证

使用MVC进行自定义身份验证

使用Keycloak进行自定义身份验证

使用JavaEE对SOAP进行自定义身份验证

使用 Windows 集成身份验证对自定义 api 进行身份验证

可以使用Go Google App Engine Standard进行Cloud Endpoints吗?

如何将自定义信息从App Engine身份验证器传递到端点?

是否可以使用Golang从App Engine flexible连接到Google Cloud SQL Postgres实例?

使用Node.js的Google Cloud App Engine任务清除队列

使用Node JS对Google API进行身份验证

Google Cloud端点的自定义身份验证(而不是OAuth2)

使用 Cloud Functions 的 Firebase 自定义身份验证系统的凭据系统

在Google App Engine中使用Firebase身份验证

如何在 python 中使用服务帐户对 Google App Engine 进行身份验证?

禁用Google Cloud App Engine自定义域网站的弱密码

如何在ember cli中使用自定义授权者和自定义身份验证器进行ember简单身份验证

Google App Engine Flexible 上的 Symfony3 无法连接到 Google Cloud SQL MySQL

使用Go进行Google Cloud Bigtable身份验证

在我的自定义后端使用 Firebase ID 令牌进行身份验证的安全问题

密钥泄漏:使用自定义JWT对用户进行身份验证

在.NET Core Web API中使用自定义属性进行JWT身份验证

在Osp Mvc上使用OWIN进行自定义身份验证

.NET Core 2使用Azure AD进行身份验证-自定义登录页面

使用IdentityServer4对API进行自定义JWT身份验证