2017-03-02 55 views
0

我试图浏览Webtask.io提供的文档,但无法使用使用Auth0保护的webhook。如何保护Webtask.io webhook?

我使用nodejs创建了Auth0登录应用程序,然后尝试调用webhook url,但我得到401错误。

以下是我在登录Auth0应用程序后得到的回复。

DcapxdbV35rBXQ9P {的access_token: 'DcapxdbV35rBXQ9P', expires_in:86400, id_token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJuYW1lIjoidGVjaCBpbmN1YmF0b3IiLCJlbWFpbCI6InRlY2hpbmN1YmF0b3IuaHNwbEBnbWFpbC5jb20iLCJlbWscFpbF92ZXJpZmllZCI6dHJ1ZSwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS8tWGRVSXFkTWtDV0EvQUFBQUFBQUFBQUkvQUFBscsacQUFBQUFBQUEvNDI1MnJzY2J2NU0vcGhvdG8uanBnIiwiaXNzIjoiaHR0cHM6Ly90ZWNoaW5jdWJhdG9yLmF1dGgwLmNvbS8iLCJzdWIiOiJnb29nbGUtb2F1dGgyfDEwMzc5MTcwODM5Nzk5MjU0ODA4NiIsImF1ZCI6IkE4NEI5WEZVdHg3Z29jQk5FVnpueFBlbUdNTG9VUHdCIiwiZXhwIjoxNDg4NDE2NzQzLCJpYXQiOjE0ODgzODA3NDN9.lHyj0RszUhY0yaQ0QeTDNt0KYVMI_cRgy3Qp-x5lNnQ', token_type: '承载'}

我使用Authorization标头并将id_token值作为'Bearer + token'传递给webhook。

我仍然无法访问webhook。

你能帮忙吗?

+0

你能检查id_token吗?似乎无效,因为它不包含文本数据 – pedrofb

回答

1

请你解释一下你的情况 - 你是说你有一个本地node.js应用程序,并希望调用一个作为WebTask部署的API(无UI组件)?并且您正在尝试从本地node.js应用程序向此API端点发送JWT访问令牌?

的第一个问题我与你的反应看到的是,访问令牌是opaque - 那么你需要一个访问令牌是一个JWT (Json Web Token)

为了得到这一点,你需要在你的Auth0仪表板定义的API - (如果尚未启用,请查看account settings -> advanced -> Enable APIs Section并确保它已打开)。定义一个新的API,并给它任何scopes如果你正在使用它们来保护你的API端点。然后确保将audience属性添加到您为登录提供的参数 - 如果使用它们,Lock/auth0.js库也都支持此属性。 Audience值应设置为在Auth0仪表板中定义API时提供的Identifier属性值。

建议您通过Auth0文档上API Authorization

尤其Calling APIs from Server-side Web Apps为您的node.js场景读取。一旦获得所需的JWT访问令牌,就可以使用Authorization: Bearer {JWT TOKEN}标题将其发送到您的API端点。你的API应该读取JWT访问令牌,检查它的有效性(主题,到期等)。

让我知道这对你是否合理,并随时在下面的评论部分留下问题。感谢您在第一次完成这个过程时看起来很重要,实际上,这需要2分钟才能完成。

+0

是的我有一个本地node.js应用程序,并希望调用作为WebTask部署的API(无UI组件)?我试图从本地node.js应用程序向此API端点发送JWT访问令牌。 我尝试在调用终点时执行Authorization:Bearer {JWT TOKEN}。我不知道现在要做什么。 –