feat: Implement OAuth2 authentication with Microsoft, Google, and PocketId

- Added JWT configuration to appsettings.json for secure token handling.
- Updated config.json to include OAuth provider details for Microsoft, Google, and PocketId.
- Added Microsoft icon SVG for UI representation.
- Refactored app.config.ts to use a custom AuthInterceptor for managing access tokens.
- Enhanced auth route guard to handle asynchronous authentication checks.
- Created new auth models for structured request and response handling.
- Developed a callback component to manage user login states and transitions.
- Updated side-login component to support multiple OAuth providers with loading states.
- Implemented authentication service methods for handling OAuth login flows and token management.
- Added error handling and user feedback for authentication processes.
This commit is contained in:
Marek Lesko
2025-11-07 19:23:21 +00:00
parent c14f62849f
commit f34d523413
23 changed files with 2090 additions and 83 deletions

View File

@@ -1,3 +1,18 @@
{
"apiEndpoint": "http://localhost:5000"
"apiEndpoint": "http://localhost:5000",
"oauthProviders": {
"microsoft": {
"clientId": "eb03f08b-280a-46c7-9700-b012caa46000",
"issuer": "https://login.microsoftonline.com/4a0d328f-1f94-4920-b67e-4275737d02a5/v2.0"
},
"google": {
"clientId": "1000025801082-09qojecdodogc3j8g32d6case1chtb25.apps.googleusercontent.com",
"issuer": "https://accounts.google.com",
"dummyClientSecret": "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"
},
"pocketid": {
"clientId": "21131567-fea1-42a2-8907-21abd874eff8",
"issuer": "https://identity.lesko.me"
}
}
}

View File

@@ -0,0 +1,6 @@
<svg width="28" height="28" viewBox="0 0 28 28" fill="none" xmlns="http://www.w3.org/2000/svg">
<rect x="2" y="2" width="11" height="11" fill="#F25022"/>
<rect x="15" y="2" width="11" height="11" fill="#7FBA00"/>
<rect x="2" y="15" width="11" height="11" fill="#00A4EF"/>
<rect x="15" y="15" width="11" height="11" fill="#FFB900"/>
</svg>

After

Width:  |  Height:  |  Size: 338 B