Skip to content

Commit 9e80185

Browse files
committed
feat: add accounts js configuration as env vars
Signed-off-by: tedraykov <[email protected]>
1 parent cd2f570 commit 9e80185

File tree

2 files changed

+24
-3
lines changed

2 files changed

+24
-3
lines changed

packages/api-plugin-authentication/src/config.js

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import envalid from "envalid";
22

3-
const { str } = envalid;
3+
const { str, bool } = envalid;
44

55
export default envalid.cleanEnv(
66
process.env,
77
{
8+
ACCOUNTS_JS_RETURN_TOKENS_AFTER_RESET_PASSWORD: bool({ default: false }),
9+
ACCOUNTS_JS_ACCESS_TOKEN_EXPIRES_IN: str({ default: "90m" }),
10+
ACCOUNTS_JS_REFRESH_TOKEN_EXPIRES_IN: str({ default: "30d" }),
811
PASSWORD_RESET_PATH_FRAGMENT: str({ default: "?resetToken=" }),
912
STORE_URL: str({ devDefault: "http://localhost:4000" }),
1013
TOKEN_SECRET: str({ default: "UPDATE_THIS_SECRET" })

packages/api-plugin-authentication/src/util/accountServer.js

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,15 @@ export default async (app) => {
1414
if (accountsServer && accountsGraphQL) {
1515
return { accountsServer, accountsGraphQL };
1616
}
17-
const { MONGO_URL, PASSWORD_RESET_PATH_FRAGMENT, STORE_URL, TOKEN_SECRET } = config;
17+
const {
18+
ACCOUNTS_JS_RETURN_TOKENS_AFTER_RESET_PASSWORD,
19+
ACCOUNTS_JS_ACCESS_TOKEN_EXPIRES_IN,
20+
ACCOUNTS_JS_REFRESH_TOKEN_EXPIRES_IN,
21+
MONGO_URL,
22+
PASSWORD_RESET_PATH_FRAGMENT,
23+
STORE_URL,
24+
TOKEN_SECRET
25+
} = config;
1826
const { context } = app;
1927

2028
const client = await mongoConnectWithRetry(MONGO_URL);
@@ -26,12 +34,22 @@ export default async (app) => {
2634
idProvider: () => mongoose.Types.ObjectId().toString()
2735
});
2836

29-
const password = new AccountsPassword();
37+
const password = new AccountsPassword({
38+
returnTokensAfterResetPassword: ACCOUNTS_JS_RETURN_TOKENS_AFTER_RESET_PASSWORD
39+
});
3040

3141
accountsServer = new AccountsServer(
3242
{
3343
siteUrl: STORE_URL,
3444
tokenSecret: TOKEN_SECRET,
45+
tokenConfigs: {
46+
accessToken: {
47+
expiresIn: ACCOUNTS_JS_ACCESS_TOKEN_EXPIRES_IN
48+
},
49+
refreshToken: {
50+
expiresIn: ACCOUNTS_JS_REFRESH_TOKEN_EXPIRES_IN
51+
}
52+
},
3553
db: accountsMongo,
3654
enableAutologin: true,
3755
ambiguousErrorMessages: false,

0 commit comments

Comments
 (0)