Google Cloud Endpoints使用Auth0保护所有路径

时间:2017-02-09 14:19:46

标签: google-cloud-platform google-cloud-endpoints

我尝试用安全招摇对象来保护我的所有路径,API密钥工作正常,但我如何使用auth0或自定义身份验证呢?

security:
- api_key: []
securityDefinitions:
  api_key:
    type: "apiKey"
    name: "key"
    in: "query"

这不起作用

    x-security:
        - auth0_jwk:
            audiences:
              - "xxxxxxxxxxxxxxxx"
    securityDefinitions:
        auth0_jwk:
          # Replace YOUR-ACCOUNT-NAME with your Auth0 account name.
          authorizationUrl: "https://YOUR-ACCOUNT-NAME.auth0.com/authorize"
          flow: "implicit"
          type: "oauth2"
          x-issuer: "https://YOUR-ACCOUNT-NAME.auth0.com/"
          # Replace YOUR-ACCOUNT-NAME with your service account's email address.
          x-jwks_uri: "https://YOUR-ACCOUNT-NAME.auth0.com/.well-known/jwks.json"

或者

    security:
        - auth0_jwk:[
           "xxxxxxxxxxxxxxxx"
          ]
    securityDefinitions:
        auth0_jwk:
          # Replace YOUR-ACCOUNT-NAME with your Auth0 account name.
          authorizationUrl: "https://YOUR-ACCOUNT-NAME.auth0.com/authorize"
          flow: "implicit"
          type: "oauth2"
          x-issuer: "https://YOUR-ACCOUNT-NAME.auth0.com/"
          # Replace YOUR-ACCOUNT-NAME with your service account's email address.
          x-jwks_uri: "https://YOUR-ACCOUNT-NAME.auth0.com/.well-known/jwks.json"

2 个答案:

答案 0 :(得分:0)

带有" x-security"的招摇配置看起来对我来说正确。没有错误消息,我不确定您的问题到底是什么。但是,人们通常使用auth0身份验证时常犯的一个错误是,他们没有正确设置JWT签名算法。默认情况下,JWT签名算法设置为" HS256" (对称密钥加密)。如果你需要使用" RS256" (非对称密钥加密),您需要进入应用程序设置页面,在高级配置下,在OAuth下,将“JsonWebToken签名算法”设置为RS256。

答案 1 :(得分:0)

解决方案很简单,我使用express-swaggerize作为我的apis并且验证不了解x-security并且给我错误是不允许这是问题。

对这篇文章感到抱歉