mirror of
				https://github.com/mealie-recipes/mealie.git
				synced 2025-10-31 02:03:35 -04:00 
			
		
		
		
	fix: (OAuth) redirect to direct login on failure (#3406)
This commit is contained in:
		| @@ -34,6 +34,11 @@ export default class DynamicOpenIDConnectScheme extends OpenIDConnectScheme { | |||||||
|     } |     } | ||||||
|  |  | ||||||
|     async _handleCallback() { |     async _handleCallback() { | ||||||
|  |       // sometimes the mealie token is being sent in the request to the IdP on callback which | ||||||
|  |       // causes an error, so we clear it if we have one | ||||||
|  |       if (this.token.get()) { | ||||||
|  |         this.token.reset(); | ||||||
|  |       } | ||||||
|       const redirect = await super._handleCallback() |       const redirect = await super._handleCallback() | ||||||
|       await this.updateAccessToken() |       await this.updateAccessToken() | ||||||
|  |  | ||||||
| @@ -49,13 +54,20 @@ export default class DynamicOpenIDConnectScheme extends OpenIDConnectScheme { | |||||||
|         return |         return | ||||||
|       } |       } | ||||||
|  |  | ||||||
|  |       try { | ||||||
|         const response = await this.$auth.requestWith(this.name, { |         const response = await this.$auth.requestWith(this.name, { | ||||||
|           url: "/api/auth/token", |           url: "/api/auth/token", | ||||||
|           method: "post" |           method: "post" | ||||||
|         }) |         }) | ||||||
|  |  | ||||||
|         // Update tokens with mealie token |         // Update tokens with mealie token | ||||||
|         this.updateTokens(response) |         this.updateTokens(response) | ||||||
|  |       } catch { | ||||||
|  |         const currentUrl = new URL(window.location.href) | ||||||
|  |         if (currentUrl.pathname === "/login" && currentUrl.searchParams.has("direct")) { | ||||||
|  |           return | ||||||
|  |         } | ||||||
|  |         window.location.replace("/login?direct=1") | ||||||
|  |       } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     isValidMealieToken() { |     isValidMealieToken() { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user