Comments (11)
You can specify a custom env file path. Just keep in mind that nest build
does not move the .env
files by default.
I figured you knew how to make a repo, but honestly, a repo is usually the quickest and easiest way to share a reproduction as it also means immediate access to modify and tinker with as necessary in a familiar environment. Otherwise, Stackblitz and codesandbox do both work.
from nest.
@thedarkknight197 you can use https://codesandbox.io or any other tool. Just share some full code ;)
from nest.
nest new jwt-reproduction
cd jwt-reproduction
# make code changes
git add .
git commit -m "feat: changes necessary for reproduction"
# make GitHub/GitLab repo
git remote add origin <origin>
git push
from nest.
@thedarkknight197 we have documentation on this
from nest.
Any help here?
from nest.
Please provide a minimum reproduction repository. You can start one by running npm init nest
in your terminal
why reproductions are required
from nest.
Please provide a minimum reproduction repository. You can start one by running
npm init nest
in your terminalwhy reproductions are required
it's dine, but how can i do? Any online tools to build nestjs application and share here?
from nest.
I know how create a repo @jmcdo29 my question was about online tools, i have created a new repo for it! :D
@micalevisk, @jmcdo29 i finded the problem: .env file is not readed by config module when use multi app structure if is placed inside apps/name-app/src folder.
How is possible configure it?
You can see the repo here: https://github.com/DigitalNextBusiness/working-jwt/tree/multi-app
from nest.
Thank you for your support @jmcdo29 and your helpfullexplaination very apreciated!
from nest.
@jmcdo29 Is possible use a Passport Strategy with Scoped Request?
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor(
private usersService: UsersService, // "Error: Unknown authentication strategy "jwt" if i remove this line error gone
private readonly configService: ConfigService,
) {
super({
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: configService.get<string>('ACCESS_TOKEN_SECRET'),
});
}
async validate(payload: { sub: number }) {
const user = await this.usersService.findOne(payload.sub);
if (!user) {
throw new UnauthorizedException();
}
return user;
}
}
My backend is a multitenancy prisma connection with db.
this is my user service code:
@Injectable({ scope: Scope.REQUEST })
export class UsersService {
@Inject(PrismaService) private readonly service: PrismaService;
async create(createUserDto: CreateUserDto) {
const hashedPassword = await bcrypt.hash(
createUserDto.password,
roundsOfHashing,
);
createUserDto.password = hashedPassword;
return this.service.user.create({
data: createUserDto,
});
}
}
Same request here: #1870
from nest.
@jmcdo29 i have updated the code in this way as menthioned in the doc you posted, could you control it?
It's working now:
@Injectable()
export class JwtStrategy extends PassportStrategy(Strategy, 'jwt') {
constructor(
private moduleRef: ModuleRef,
private readonly configService: ConfigService,
) {
super({
passReqToCallback: true,
jwtFromRequest: ExtractJwt.fromAuthHeaderAsBearerToken(),
secretOrKey: configService.get<string>('ACCESS_TOKEN_SECRET'),
});
}
async validate(request: Request, payload: { sub: number }) {
const contextId = ContextIdFactory.getByRequest(request);
// "UsersService" is a request-scoped provider
const usersService = await this.moduleRef.resolve(UsersService, contextId);
const user = await usersService.findOne(payload.sub);
if (!user) {
throw new UnauthorizedException();
}
return user;
}
}
from nest.
Related Issues (20)
- Allow readonly arrays as providers, imports, etc. HOT 3
- Validation fails in RPC context for MqttContext HOT 6
- Only the last APP_FILTER providers works HOT 4
- dependency injection does not work. HOT 3
- gRPC Streaming endpoints that throw errors crash the main process HOT 2
- Injectable instances can have references to Request objects and can hold it forewer in request scope
- Middleware consumer have a text error HOT 3
- Extra options are set only to default values when using `registerAsync` HOT 2
- Can we have a template resource for graphql + rest together? HOT 5
- Connection Error in Service during Startup HOT 2
- Wrong type (as in #12264) HOT 3
- Nest CLI generates the wrong package.json file HOT 8
- Watch mode is broken HOT 1
- Hyphens in parameters silently fail HOT 4
- Improve documentation on @Injectable() HOT 2
- Log is not auto-flushed on error during initialization HOT 1
- Middleware not executed when using `exclude` in `setGlobalPrefix` HOT 1
- The use of SetMetadata custom decorators does not take effect HOT 13
- NestJS HttpException class returns success status when status is undefined HOT 4
- NestJs DI `useFactory` ignores property dependencies HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nest.