Skip to content

Commit 8632ae1

Browse files
committed
feat(nextjs): refactor asgardeo to a server-only singleton for API access and export it
1 parent 1c65647 commit 8632ae1

File tree

2 files changed

+20
-7
lines changed

2 files changed

+20
-7
lines changed

packages/nextjs/src/server/asgardeo.ts

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,22 @@
1717
*/
1818

1919
import AsgardeoNextClient from '../AsgardeoNextClient';
20+
import getSessionIdAction from './actions/getSessionId';
2021

21-
/**
22-
* Server-only singleton for API access.
23-
* Usage:
24-
* import { asgardeo } from '@asgardeo/nextjs/server';
25-
* const token = await asgardeo.getAccessToken();
26-
*/
27-
export const asgardeo = AsgardeoNextClient.getInstance();
22+
const asgardeo = async () => {
23+
const getAccessToken = async (id: string) => {
24+
const client: AsgardeoNextClient = AsgardeoNextClient.getInstance();
25+
return await client.getAccessToken(id);
26+
};
27+
28+
const getSessionId = async () => {
29+
return await getSessionIdAction();
30+
};
31+
32+
return {
33+
getAccessToken,
34+
getSessionId,
35+
};
36+
};
37+
38+
export default asgardeo;

packages/nextjs/src/server/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818

1919
// @asgardeo/nextjs/server exports.
2020

21+
export {default as asgardeo} from './asgardeo';
22+
2123
export {default as AsgardeoProvider} from './AsgardeoProvider';
2224
export * from './AsgardeoProvider';
2325

0 commit comments

Comments
 (0)