我应该使用中间件还是使用防护来通过Auth0和nestjs进行身份验证?

尼克·霍奇斯

我处于一个难题中。

我开始使用NestJS构建良好的老式REST API待办事项服务器。然后,使用您可以使用的这篇文章向其中添加Auth0 AuthGuard

https://auth0.com/blog/developing-a-secure-api-with-nestjs-adding-authorization/

但是,我始终无法正常工作,总是出现401 Unauthorized错误。真令人沮丧。

然后我找到了这篇文章:

https://auth0.com/blog/full-stack-typescript-apps-part-1-developing-backend-apis-with-nestjs/

那让我构建了中间件以通过Auth0和JWT进行身份验证。瞧,它奏效了。

但感觉错了-我觉得我应该可以做整个事情的授权使用@UseGuards,并AuthGuard和所有NestJS装饰善良。

所以我想我的问题有两个方面:我犹豫是否要在NestJS装饰器上使用中间件?有人在NestJS中使用装饰器东西有一个简单的工作示例吗?

马雷克·乌尔巴诺维奇(Marek Urbanowicz)

这是基于意见的,但是其中很大一部分是在文档中,建议您采用良好的做法,因此我将尝试回答。

我强烈建议您使用@GuardNestJS几乎所有东西都使用装饰器。它是否肯定有根据,但它基于某种方式在全球范围内使用的Spring之上。装饰器使代码非常冗长,因为您可以清楚地看到适用于类或特定方法的代码。

我从来没有遇到过NestJS中的JWT Guards问题。

在这里看看:https : //docs.nestjs.com/techniques/authentication#implementing-passport-jwt

对我来说,它就像是一种魅力。

无论如何-您也可以尝试将您的自定义Guard for JWT与https://github.com/auth0/node-jwks-rsa一起使用可以肯定的是,调试起来应该更容易,但是,据我所知,内置的JWT Guard可以为您提供良好的日志。

我建议使用Middleware来处理与每个和每个响应或请求交互的内容,并使用Guards来处理所有auth内容。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过传递我的简单身份验证中间件来表达

来自分类Dev

使用auth0 Firebase和Ionic进行Linkedin身份验证

来自分类Dev

Laravel 5.2的多重身份验证使用中间件

来自分类Dev

使用身份验证中间件安排路由

来自分类Dev

Express.js 4-在静态文件之前使用中间件进行身份验证

来自分类Dev

使用Auth0通过单个应用程序登录针对多个资源进行身份验证

来自分类Dev

我应该使用什么scrapy中间件来捕获和处理403响应?

来自分类Dev

尝试使用Auth0对用户进行身份验证时出现CORS错误

来自分类Dev

使用Auth0身份验证部署React App进行网络化

来自分类Dev

使用JWT和Auth0的AWS API Gateway身份验证错误IncompleteSignatureException

来自分类Dev

使用JWT和Auth0的AWS API Gateway身份验证错误IncompleteSignatureException

来自分类Dev

Slim中的身份验证:结合使用中间件,单例和钩子方法是否明智?

来自分类Dev

如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

来自分类Dev

如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

来自分类Dev

使用Katana身份验证中间件保护WebAPI的安全

来自分类Dev

Laravel 5.1:全局使用默认身份验证中间件

来自分类Dev

使用不带OWIN身份验证中间件的WebAPI 2

来自分类Dev

OWIN身份验证管道以及如何正确使用Katana中间件?

来自分类Dev

如何修改laravel中间件以与Firebase身份验证一起使用

来自分类Dev

使用Node.js的Passport.js身份验证中间件

来自分类Dev

如何使用jwt slim中间件获取身份验证?

来自分类Dev

如何在中间件中使用 firebase 作为 node.js 的登录身份验证?

来自分类Dev

Auth0 - 在 Owin 上使用带有承载访问令牌的 JWT 使用 RS256 进行身份验证

来自分类Dev

我正在使用auth0进行用户身份验证,并且有一个用于CRUD帖子(标题,img,desc)的API。如何对CRUD API进行经过身份验证的调用?

来自分类Dev

NodeJS 和 Auth0 的 JWT 身份验证

来自分类Dev

如何在使用 auth0 进行身份验证的 React 应用程序中获取用户信息

来自分类Dev

Express用户身份验证中间件应该怎么做?

来自分类Dev

仅通过身份验证中间件和基于令牌的身份验证访问存储文件夹中的文件

来自分类Dev

Laravel Sanctum auth:带有Angular SPA的Sanctum中间件未经身份验证的响应

Related 相关文章

  1. 1

    通过传递我的简单身份验证中间件来表达

  2. 2

    使用auth0 Firebase和Ionic进行Linkedin身份验证

  3. 3

    Laravel 5.2的多重身份验证使用中间件

  4. 4

    使用身份验证中间件安排路由

  5. 5

    Express.js 4-在静态文件之前使用中间件进行身份验证

  6. 6

    使用Auth0通过单个应用程序登录针对多个资源进行身份验证

  7. 7

    我应该使用什么scrapy中间件来捕获和处理403响应?

  8. 8

    尝试使用Auth0对用户进行身份验证时出现CORS错误

  9. 9

    使用Auth0身份验证部署React App进行网络化

  10. 10

    使用JWT和Auth0的AWS API Gateway身份验证错误IncompleteSignatureException

  11. 11

    使用JWT和Auth0的AWS API Gateway身份验证错误IncompleteSignatureException

  12. 12

    Slim中的身份验证:结合使用中间件,单例和钩子方法是否明智?

  13. 13

    如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

  14. 14

    如何在django中使用中间件同时处理基于会话和基于令牌的身份验证?

  15. 15

    使用Katana身份验证中间件保护WebAPI的安全

  16. 16

    Laravel 5.1:全局使用默认身份验证中间件

  17. 17

    使用不带OWIN身份验证中间件的WebAPI 2

  18. 18

    OWIN身份验证管道以及如何正确使用Katana中间件?

  19. 19

    如何修改laravel中间件以与Firebase身份验证一起使用

  20. 20

    使用Node.js的Passport.js身份验证中间件

  21. 21

    如何使用jwt slim中间件获取身份验证?

  22. 22

    如何在中间件中使用 firebase 作为 node.js 的登录身份验证?

  23. 23

    Auth0 - 在 Owin 上使用带有承载访问令牌的 JWT 使用 RS256 进行身份验证

  24. 24

    我正在使用auth0进行用户身份验证,并且有一个用于CRUD帖子(标题,img,desc)的API。如何对CRUD API进行经过身份验证的调用?

  25. 25

    NodeJS 和 Auth0 的 JWT 身份验证

  26. 26

    如何在使用 auth0 进行身份验证的 React 应用程序中获取用户信息

  27. 27

    Express用户身份验证中间件应该怎么做?

  28. 28

    仅通过身份验证中间件和基于令牌的身份验证访问存储文件夹中的文件

  29. 29

    Laravel Sanctum auth:带有Angular SPA的Sanctum中间件未经身份验证的响应

热门标签

归档