我正在尝试了解如何将Cloud Endpoints与自定义身份验证一起使用。根据文档,我知道它始于securityDefinitions
:
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"
这就是我对流程的理解:
authorizationUrl
我的问题:
如何实现authorizationUrl
。请求的外观,成功或失败时应返回什么响应
该值如何? x-google-issuer:“令牌的发布者” x-google-jwks_uri:“公开密钥的网址” x-google-audiences:“您的客户ID”
答案 0 :(得分:1)
要配置端点的自定义身份验证(并根据OpenAPI v2规范),您需要两部分:
securityDefinitions
部分中定义您的自定义身份验证方案security
字段将您的自定义身份验证方案(在#1中定义)应用于entire api或specific operations。Google Cloud Endpoints文档描述了此here。
OpenAPI规范的SecurityDefinitions部分中的某些字段用于API生产者,某些字段用于API使用者。
以下字段用于 API生产者,并告诉端点如何验证API请求随附的访问令牌:
这些字段由API生产者指定,并告诉消费者如何获取有效的访问令牌:
x-google-jwks_uri
属性中指定的公钥来验证访问令牌,并确保令牌的颁发者与securityDefinition的x-google-issuer
字段中指定的颁发者相匹配。关于您的问题,authorizationUrl
应该由您使用的OAuth2提供程序设置。该网址应允许使用者执行隐式OAuth2流以获取访问令牌。您需要做的就是指定