Desktop OIDC: open in system browser via window.open, revert to copy-paste
The local HTTP server approach (fetch to 127.0.0.1) doesn't work in the Wails webview. Simplify: use window.open() to launch OIDC in the real browser. After authentication, the callback page at the server shows the token. User copies and pastes into the Token tab. Also fix: SetSize before app.Run() crashes with nil pointer — use WebviewWindowOptions width/height directly from restored state.
This commit is contained in:
@@ -101,7 +101,14 @@ export async function startLogin(): Promise<void> {
|
||||
scope: 'openid profile email'
|
||||
})
|
||||
|
||||
location.href = `${cfg.authorization_endpoint.replace(/\/$/, '')}/?${params}`
|
||||
const authURL = `${cfg.authorization_endpoint.replace(/\/$/, '')}/?${params}`
|
||||
|
||||
if (isDesktop) {
|
||||
window.open(authURL, '_blank', 'width=800,height=700')
|
||||
throw new Error('Login opened in your browser. After authenticating, copy the token and paste it into the Token tab.')
|
||||
}
|
||||
|
||||
location.href = authURL
|
||||
}
|
||||
|
||||
export async function handleCallback(code: string, returnedState: string): Promise<boolean> {
|
||||
|
||||
Reference in New Issue
Block a user