atkaksoy501 / HealTripBackend

HealTrip
0 stars 1 forks source link

added user name and id to jwt #77

Closed atkaksoy501 closed 7 months ago

atkaksoy501 commented 7 months ago

Summary by CodeRabbit

coderabbitai[bot] commented 7 months ago

Walkthrough

This update introduces CustomUserDetails, enhancing user authentication by including additional user information such as name and ID in the system. It modifies various components to use CustomUserDetails over UserDetails, adjusts JWT token generation to embed these new details, and shortens cookie expiration for improved security.

Changes

File Path Change Summary
.../api/controllers/AuthsController.java - Import and use CustomUserDetails
- Update cookie expiration from 7 days to 1 day
.../security/CustomUserDetails.java - New file defining CustomUserDetails interface extending UserDetails
.../security/JpaUserDetailsService.java - Change loadUserByUsername return type to CustomUserDetails
.../security/UserSecurity.java - Implements CustomUserDetails
- Adds getName() and getId()
.../security/config/JwtUtils.java - Use CustomUserDetails for token generation
- Add claims for email, name, and id

Related issues

Poem

In the digital realm, where security is key,
A rabbit hopped in, with changes to see.
🐰 "Let's make authentication clear and bright,
With names and IDs in tokens, just right."
Now, cookies expire quicker, for safety's delight,
And JWTs gleam with user info, shining light.
"With every hop and code commit, let's aim for the peak,
Ensuring our digital world is secure, never bleak."


Tips ### Chat There are 3 ways to chat with CodeRabbit: - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit .` - `Generate unit-tests for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit tests for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai generate interesting stats about this repository and render them as a table.` - `@coderabbitai show all the console.log statements in this repository.` - `@coderabbitai read src/utils.ts and generate unit tests.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (invoked as PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger a review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai help` to get help. Additionally, you can add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. ### CodeRabbit Configration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - The JSON schema for the configuration file is available [here](https://coderabbit.ai/integrations/coderabbit-overrides.v2.json). - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/coderabbit-overrides.v2.json` ### CodeRabbit Discord Community Join our [Discord Community](https://discord.com/invite/GsXnASn26c) to get help, request features, and share feedback.