Skip to content

Commit 0af5970

Browse files
committed
Enabled localhost https. Fixed authenticated redirect
1 parent 4742ca3 commit 0af5970

File tree

9 files changed

+79
-32
lines changed

9 files changed

+79
-32
lines changed

.gitignore

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ dist
1212
dist-ssr
1313
*.local
1414
.env
15+
certs
1516

1617
# Editor directories and files
1718
.vscode/*
@@ -23,3 +24,4 @@ dist-ssr
2324
*.njsproj
2425
*.sln
2526
*.sw?
27+
certs/*

package-lock.json

+31
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+1
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
"react-router-dom": "^6.23.1"
2222
},
2323
"devDependencies": {
24+
"@types/node": "^20.14.8",
2425
"@types/react": "^18.3.3",
2526
"@types/react-dom": "^18.3.0",
2627
"@vitejs/plugin-react": "^4.2.1",

src/app/routes/Landing.tsx

+14-11
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,22 @@ import { isAuthenticated } from '../../lib/bungie_api/AuthService'
99
export const LandingRoute = () => {
1010

1111
const navigate = useNavigate()
12+
1213
useEffect( () => {
1314

14-
if (isAuthenticated()) {
15-
console.log("Already authenticated")
16-
navigate('/app')
17-
}
18-
else if (regenerateTokens()) {
19-
console.log("Token regenerated and authenticated")
20-
navigate('/app')
21-
}
22-
23-
console.log("Not authenticated")
24-
15+
setTimeout(()=>{
16+
if (isAuthenticated()) {
17+
console.log("Already authenticated")
18+
navigate('/app')
19+
}
20+
else if (regenerateTokens()) {
21+
console.log("Tokens regenerated and authenticated")
22+
navigate('/app')
23+
}
24+
else {
25+
console.log("Not authenticated")
26+
}
27+
}, 50)
2528
}, [])
2629

2730
return (

src/features/auth/AuthReturn.tsx

+5-9
Original file line numberDiff line numberDiff line change
@@ -13,24 +13,20 @@ export function handleAuthReturn(): boolean {
1313

1414
const code = getAuthCodeFromURL()
1515

16+
console.log("auth code is " + code)
17+
1618
if (!code?.length) {
1719
console.log("Could not find authorization code")
1820
return false
1921
}
2022

2123
try {
22-
const tokens = generateToken(false, code)
23-
24-
if (tokens) {
25-
setTokens(tokens)
26-
27-
return true
28-
}
29-
24+
generateToken(false, code)
3025
}
3126
catch (error) {
3227
console.log(error)
28+
return false
3329
}
3430

35-
return false
31+
return true
3632
}

src/lib/bungie_api/AuthService.tsx

+5-1
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@ export function isAuthenticated(): boolean {
1818

1919
const tokens = getTokens()
2020

21-
return !tokens ? false : !isTokenExpired(tokens.accessToken)
21+
if (!tokens) {
22+
return false
23+
}
24+
25+
return !isTokenExpired(tokens.accessToken)
2226
}
2327

2428
/**

src/lib/bungie_api/TokenService.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,7 @@ export function generateToken(refresh: boolean, authCode=""): Tokens | null {
6262

6363
returnToken = handleTokenResponse(response)
6464

65-
if (refresh) {
66-
setTokens(returnToken)
67-
console.log("Tokens successfully generated")
68-
}
65+
setTokens(returnToken)
6966
})
7067
.catch(error => {
7168
throw new Error(error)

src/main.tsx

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import * as React from 'react'
1+
import React from 'react'
22
import { createRoot } from 'react-dom/client'
33
import App from './app/App'
44
import './index.css'
@@ -7,7 +7,5 @@ const root = document.getElementById('root')
77
if (!root) throw new Error('no root element found')
88

99
createRoot(root).render(
10-
<React.StrictMode>
11-
<App />
12-
</React.StrictMode>,
10+
<App />
1311
)

vite.config.ts

+18-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,22 @@
11
import { defineConfig } from 'vite'
22
import react from '@vitejs/plugin-react'
3+
import fs from 'fs'
34

4-
// https://vitejs.dev/config/
5-
export default defineConfig({
6-
plugins: [react()],
5+
export default defineConfig(({ command, mode, isSsrBuild, isPreview }) => {
6+
if (command === 'serve') {
7+
return {
8+
plugins: [react()],
9+
server: {
10+
https: {
11+
key: fs.readFileSync('./certs/localhost.key'),
12+
cert: fs.readFileSync('./certs/localhost.crt')
13+
}
14+
}
15+
}
16+
}
17+
else {
18+
return {
19+
plugins: [react()],
20+
}
21+
}
722
})

0 commit comments

Comments
 (0)