(settings: ExtensionSettings)
| 108 | }; |
| 109 | |
| 110 | export const createAuthStart = async (settings: ExtensionSettings) => { |
| 111 | const redirectUri = chrome.identity.getRedirectURL(); |
| 112 | const state = crypto.randomUUID(); |
| 113 | const url = new URL( |
| 114 | apiUrl(settings, extensionApiPath(ExtensionApiPaths.startAuth)), |
| 115 | ); |
| 116 | url.searchParams.set("redirectUri", redirectUri); |
| 117 | url.searchParams.set("state", state); |
| 118 | |
| 119 | await checkAuthStartRoute(settings, url, redirectUri); |
| 120 | |
| 121 | return { redirectUri, state, url: url.toString() }; |
| 122 | }; |
| 123 | |
| 124 | export const parseAuthResponse = (responseUrl: string, state: string) => { |
| 125 | const hash = new URL(responseUrl).hash.slice(1); |
no test coverage detected