Skip to content

Commit

Permalink
feat(Fragment Param): added fragment parameter to redirect options
Browse files Browse the repository at this point in the history
  • Loading branch information
Will Hackett committed Oct 30, 2019
1 parent d2763fa commit 1abedea
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 1 deletion.
11 changes: 11 additions & 0 deletions __tests__/index.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,17 @@ describe('Auth0', () => {
`https://test.auth0.com/authorize?query=params${TEST_TELEMETRY_QUERY_STRING}`
);
});
it('calls `window.location.assign` with the correct url and fragment if provided', async () => {
const { auth0 } = await setup();

await auth0.loginWithRedirect({
...REDIRECT_OPTIONS,
fragment: '/reset'
});
expect(window.location.assign).toHaveBeenCalledWith(
`https://test.auth0.com/authorize?query=params${TEST_TELEMETRY_QUERY_STRING}#/reset`
);
});
it('can be called with no arguments', async () => {
const { auth0 } = await setup();

Expand Down
3 changes: 2 additions & 1 deletion src/Auth0Client.ts
Original file line number Diff line number Diff line change
Expand Up @@ -218,6 +218,7 @@ export default class Auth0Client {
const code_verifier = createRandomString();
const code_challengeBuffer = await sha256(code_verifier);
const code_challenge = bufferToBase64UrlEncoded(code_challengeBuffer);
const fragment = options.fragment ? `#${options.fragment}` : '';
const params = this._getParams(
authorizeOptions,
stateIn,
Expand All @@ -233,7 +234,7 @@ export default class Auth0Client {
scope: params.scope,
audience: params.audience || 'default'
});
window.location.assign(url);
window.location.assign(url + fragment);
}

/**
Expand Down
4 changes: 4 additions & 0 deletions src/global.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,10 @@ interface RedirectLoginOptions extends BaseLoginOptions {
* Used to store state before doing the redirect
*/
appState?: any;
/**
* Used to add to the URL fragment before redirecting
*/
fragment?: string;
}

interface RedirectLoginResult {
Expand Down

0 comments on commit 1abedea

Please sign in to comment.