FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Discord_Authentication_Basic/routers/auth.js at main · codedByCan/Discord_Authentication_Basic · GitHub
codedByCan
Discord_Authentication_Basic
Repository navigation
Code
Issues
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Discord_Authentication_Basic
/
routers
/
auth.js
Copy path
More file actions
More file actions
Latest commit
History
History
History
67 lines (58 loc) · 1.93 KB
Breadcrumbs
Discord_Authentication_Basic
/
routers
/
auth.js
Copy path
File metadata and controls
67 lines (58 loc) · 1.93 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
const
router
=
require
(
'express'
)
.
Router
(
)
;
const
passport
=
require
(
'passport'
)
;
const
session
=
require
(
'express-session'
)
;
var
DiscordStrategy
=
require
(
'passport-discord'
)
.
Strategy
;
app
.
use
(
session
(
{
secret
:
'secret'
,
resave
:
false
,
saveUninitialized
:
false
,
cookie
:
{
maxAge
:
1000
*
60
*
60
*
24
*
7
*
2
,
// 2 weeks
}
}
)
)
;
passport
.
use
(
new
DiscordStrategy
(
{
clientID
:
config
.
clientID
,
clientSecret
:
config
.
clientSecret
,
callbackURL
:
config
.
callbackURL
,
scope
:
[
'identify'
,
'guilds'
,
'email'
,
'connections'
]
}
,
async
function
(
accessToken
,
refreshToken
,
profile
,
done
)
{
let
user
=
await
userModel
.
findOne
(
{
userID
:
profile
.
id
}
)
;
if
(
!
user
)
{
var
newUser
=
new
userModel
(
{
userID
:
profile
.
id
,
guilds
:
profile
.
guilds
,
email
:
profile
.
email
,
connections
:
profile
.
connections
,
}
)
;
newUser
.
save
(
)
;
return
done
(
null
,
newUser
)
;
}
else
{
user
.
guilds
=
profile
.
guilds
;
user
.
email
=
profile
.
email
;
user
.
connections
=
profile
.
connections
;
user
.
save
(
)
;
return
done
(
null
,
user
)
;
}
}
)
)
;
passport
.
serializeUser
(
function
(
user
,
done
)
{
done
(
null
,
user
)
;
}
)
;
passport
.
deserializeUser
(
function
(
obj
,
done
)
{
done
(
null
,
obj
)
;
}
)
;
router
.
get
(
'/login'
,
passport
.
authenticate
(
'discord'
,
{
scope
:
[
'identify'
,
'guilds'
,
'email'
,
'connections'
]
}
)
,
function
(
req
,
res
)
{
}
)
;
router
.
get
(
'/callback'
,
function
(
req
,
res
,
next
)
{
passport
.
authenticate
(
'discord'
,
{
successRedirect
:
'/'
,
failureRedirect
:
'/'
}
)
(
req
,
res
,
w
=>
{
console
.
log
(
w
)
;
if
(
w
)
return
res
.
send
(
`<center><h1>Something went wrong. Please try again later.</h1></center>`
)
;
}
)
}
)
;
app
.
use
(
passport
.
initialize
(
)
)
;
app
.
use
(
passport
.
session
(
)
)
;
router
.
get
(
'/logout'
,
function
(
req
,
res
)
{
req
.
logout
(
)
;
res
.
redirect
(
'/'
)
;
}
)
;
module
.
exports
=
router
;
Back
|
FazBrowse Home
|
New Git URL