Skip to content

Commit efb581d

Browse files
authored
Merge pull request #294 from privy-open-source/feat/1.2.0
release: `1.2.0`
2 parents 68dd22a + 3a844f7 commit efb581d

File tree

8 files changed

+25
-4
lines changed

8 files changed

+25
-4
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,6 +77,7 @@ This module read enviroment variables directly.
7777
| OAUTH_REGISTER | `false` | Add params register to Oauth Server |
7878
| OAUTH_REDIRECT_WHITELIST | - | Redirect path after success login whitelist, for multiple value, use `;` as delimeter |
7979
| OAUTH_DENIED_REDIRECT | `Same as OAUTH_HOME` | Redirect path after user after denying the authorization request |
80+
| OAUTH_AUTHORIZE_HOST | `Same as OAUTH_HOST` | Host for Authorization token |
8081
| OAUTH_AUTHORIZE_PATH | `/oauth/authorize` | URL path to request an authorization code |
8182
| OAUTH_TOKEN_PATH | `/oauth/token` | URL path to obtain access tokens |
8283
| OAUTH_REVOKE_PATH | `/oauth/revoke` | URL path to revoke access tokens |

src/core/client.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export function getClient (profile: string) {
1010
auth: {
1111
tokenHost : getEnv(profile, 'HOST'),
1212
tokenPath : getEnv(profile, 'TOKEN_PATH'),
13+
authorizeHost: getEnv(profile, 'AUTHORIZE_HOST'),
1314
authorizePath: getEnv(profile, 'AUTHORIZE_PATH'),
1415
revokePath : getEnv(profile, 'REVOKE_PATH'),
1516
refreshPath : getEnv(profile, 'REFRESH_PATH'),

src/core/redirect.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ import {
55
getHeader,
66
} from 'h3'
77
import { escape } from 'html-escaper'
8-
98
import type { CookieSerializeOptions } from 'cookie-es'
109

1110
/**

src/core/utils.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { type H3Event } from 'h3'
1+
import { setHeader, type H3Event } from 'h3'
22
import {
33
decodePath,
44
parseURL,
@@ -62,3 +62,9 @@ export function getRedirectUri (profile: string, event: H3Event): string {
6262

6363
return withBase(redirectUrl, baseURL)
6464
}
65+
66+
export function setNoCache (event: H3Event) {
67+
setHeader(event, 'cache-control', 'no-cache, no-store, must-revalidate')
68+
setHeader(event, 'pragma', 'no-cache')
69+
setHeader(event, 'expires', '0')
70+
}

src/runtime/callback.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import {
1616
getEnv,
1717
getHomeURL,
1818
getRedirectUri,
19+
setNoCache,
1920
} from '../core/utils'
2021
import sendRedirectPage from '../core/redirect'
2122
import { getClient } from '../core/client'
@@ -67,6 +68,7 @@ export default defineEventHandler(async (event) => {
6768

6869
// Remove temporary state
6970
deleteCookie(event, '_state')
71+
setNoCache(event)
7072

7173
await sendRedirectPage(event, withBase(homeURL, baseURL), cookieConfig)
7274
} catch (error) {

src/runtime/login.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,11 @@ import {
77
} from 'h3'
88
import { withQuery } from 'ufo'
99
import { useRuntimeConfig } from '#imports'
10-
import { getEnv, getRedirectUri } from '../core/utils'
10+
import {
11+
getEnv,
12+
getRedirectUri,
13+
setNoCache,
14+
} from '../core/utils'
1115
import { getClient } from '../core/client'
1216

1317
export default defineEventHandler(async (event) => {
@@ -32,6 +36,7 @@ export default defineEventHandler(async (event) => {
3236

3337
// Save temp state into cookie
3438
setCookie(event, '_state', state)
39+
setNoCache(event)
3540

3641
await sendRedirect(event, loginURL)
3742
} catch (error) {

src/runtime/logout.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,11 @@ import {
88
} from 'h3'
99
import { withQuery } from 'ufo'
1010
import { useRuntimeConfig } from '#imports'
11-
import { getRedirectUri, getEnv } from '../core/utils'
11+
import {
12+
getRedirectUri,
13+
getEnv,
14+
setNoCache,
15+
} from '../core/utils'
1216

1317
export default defineEventHandler(async (event) => {
1418
const config = useRuntimeConfig()
@@ -36,6 +40,7 @@ export default defineEventHandler(async (event) => {
3640

3741
// Save temp state into cookie
3842
setCookie(event, '_state', state)
43+
setNoCache(event)
3944

4045
await sendRedirect(event, logoutUrl)
4146
})

src/runtime/refresh.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import defu from 'defu'
99
import { useRuntimeConfig } from '#imports'
1010
import type { CookieSerializeOptions } from 'cookie-es'
1111
import { getClient } from '../core/client'
12+
import { setNoCache } from '../core/utils'
1213

1314
export default defineEventHandler(async (event) => {
1415
try {
@@ -34,6 +35,7 @@ export default defineEventHandler(async (event) => {
3435
setCookie(event, `${profile}/token`, token, cookieConfig)
3536
setCookie(event, `${profile}/refresh-token`, refreshToken, cookieConfig)
3637
setCookie(event, `${profile}/expires`, expires.toISOString(), cookieConfig)
38+
setNoCache(event)
3739

3840
return {
3941
code : 200,

0 commit comments

Comments
 (0)