我尝试用安全招摇对象来保护我的所有路径,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"
答案 0 :(得分:0)
带有" x-security"的招摇配置看起来对我来说正确。没有错误消息,我不确定您的问题到底是什么。但是,人们通常使用auth0身份验证时常犯的一个错误是,他们没有正确设置JWT签名算法。默认情况下,JWT签名算法设置为" HS256" (对称密钥加密)。如果你需要使用" RS256" (非对称密钥加密),您需要进入应用程序设置页面,在高级配置下,在OAuth下,将“JsonWebToken签名算法”设置为RS256。
答案 1 :(得分:0)
解决方案很简单,我使用express-swaggerize作为我的apis并且验证不了解x-security并且给我错误是不允许这是问题。
对这篇文章感到抱歉