mirror of
https://github.com/bitinflow/nuxt-oauth.git
synced 2026-03-13 13:45:59 +00:00
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
5454c9677b | ||
|
|
434c335e3f | ||
|
|
ebad02a1e1 |
@@ -1,6 +1,10 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
|
|
||||||
|
|
||||||
|
## v1.0.5
|
||||||
|
|
||||||
|
## v1.0.4
|
||||||
|
|
||||||
## v1.0.3
|
## v1.0.3
|
||||||
|
|
||||||
## v1.0.2
|
## v1.0.2
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@bitinflow/nuxt-oauth",
|
"name": "@bitinflow/nuxt-oauth",
|
||||||
"version": "1.0.3",
|
"version": "1.0.5",
|
||||||
"description": "Nuxt 3 OAuth Module",
|
"description": "Nuxt 3 OAuth Module",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"type": "module",
|
"type": "module",
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ export default async (options: ComposableOptions = {
|
|||||||
return navigateTo(authConfig.redirect.logout)
|
return navigateTo(authConfig.redirect.logout)
|
||||||
}
|
}
|
||||||
|
|
||||||
const setBearer = async (token: string, tokenType: string, expires: number) => {
|
const setBearerToken = async (token: string, tokenType: string, expires: number) => {
|
||||||
accessToken.value = {token, tokenType, expiresAt: Date.now() + expires * 1000};
|
accessToken.value = {token, tokenType, expiresAt: Date.now() + expires * 1000};
|
||||||
await fetchUser()
|
await fetchUser()
|
||||||
}
|
}
|
||||||
@@ -68,11 +68,19 @@ export default async (options: ComposableOptions = {
|
|||||||
await fetchUser()
|
await fetchUser()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const bearerToken = () => {
|
||||||
|
return accessToken.value
|
||||||
|
? `${accessToken.value.tokenType} ${accessToken.value.token}`
|
||||||
|
: null;
|
||||||
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
user,
|
user,
|
||||||
signIn,
|
signIn,
|
||||||
signOut,
|
signOut,
|
||||||
setBearer,
|
setBearerToken,
|
||||||
|
bearerToken,
|
||||||
|
accessToken,
|
||||||
authConfig
|
authConfig
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,17 +3,22 @@ import useAuth from "./composables/useAuth"
|
|||||||
|
|
||||||
export default defineNuxtPlugin(() => {
|
export default defineNuxtPlugin(() => {
|
||||||
addRouteMiddleware('auth', async (to) => {
|
addRouteMiddleware('auth', async (to) => {
|
||||||
const {user, authConfig, setBearer} = await useAuth()
|
const {user, authConfig, setBearerToken} = await useAuth()
|
||||||
|
|
||||||
if (to.path === authConfig.redirect.callback) {
|
if (to.path === authConfig.redirect.callback) {
|
||||||
const params = new URLSearchParams(to.hash.substring(1))
|
const queryParams = new URLSearchParams(to.query.toString());
|
||||||
|
if (queryParams.has('error')) {
|
||||||
|
return navigateTo(authConfig.redirect.login)
|
||||||
|
}
|
||||||
|
|
||||||
if (params.has('access_token')) {
|
const hashParams = new URLSearchParams(to.hash.substring(1))
|
||||||
const token = params.get('access_token') as string;
|
|
||||||
const tokenType = params.get('token_type') as string;
|
|
||||||
const expires = params.get('expires_in') as string;
|
|
||||||
|
|
||||||
await setBearer(token, tokenType, parseInt(expires));
|
if (hashParams.has('access_token')) {
|
||||||
|
const token = hashParams.get('access_token') as string;
|
||||||
|
const tokenType = hashParams.get('token_type') as string;
|
||||||
|
const expires = hashParams.get('expires_in') as string;
|
||||||
|
|
||||||
|
await setBearerToken(token, tokenType, parseInt(expires));
|
||||||
return navigateTo(authConfig.redirect.home)
|
return navigateTo(authConfig.redirect.home)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user