chore(release): v1.0.4

This commit is contained in:
René Preuß
2023-02-19 12:47:08 +01:00
parent 0981a12d08
commit ebad02a1e1
4 changed files with 24 additions and 10 deletions

View File

@@ -1,6 +1,8 @@
# Changelog # Changelog
## v1.0.4
## v1.0.3 ## v1.0.3
## v1.0.2 ## v1.0.2

View File

@@ -1,6 +1,6 @@
{ {
"name": "@bitinflow/nuxt-oauth", "name": "@bitinflow/nuxt-oauth",
"version": "1.0.3", "version": "1.0.4",
"description": "Nuxt 3 OAuth Module", "description": "Nuxt 3 OAuth Module",
"license": "MIT", "license": "MIT",
"type": "module", "type": "module",

View File

@@ -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,18 @@ 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,
authConfig authConfig
} }
} }

View File

@@ -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)
} }