Slowly moving this to an API instead of back+front end.
This commit is contained in:
parent
d20eff4306
commit
253ffac472
1 changed files with 7 additions and 4 deletions
|
@ -131,7 +131,6 @@ func authCallback(context *gin.Context) {
|
||||||
var err error
|
var err error
|
||||||
oauthToken, err := oauthConfig.Exchange(context.Request.Context(), context.Query("code"))
|
oauthToken, err := oauthConfig.Exchange(context.Request.Context(), context.Query("code"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
||||||
context.HTML(http.StatusInternalServerError, "internalservererror.html", gin.H{
|
context.HTML(http.StatusInternalServerError, "internalservererror.html", gin.H{
|
||||||
"message": "internalservererror",
|
"message": "internalservererror",
|
||||||
})
|
})
|
||||||
|
@ -140,10 +139,11 @@ func authCallback(context *gin.Context) {
|
||||||
context.SetCookie("discord-oauthtoken", string(oauthTokenJSON), 0, "", config.API.Domain, false, false)
|
context.SetCookie("discord-oauthtoken", string(oauthTokenJSON), 0, "", config.API.Domain, false, false)
|
||||||
user := getDiscordUser(context, oauthToken)
|
user := getDiscordUser(context, oauthToken)
|
||||||
createOrUpdateUser(context, oauthToken, user)
|
createOrUpdateUser(context, oauthToken, user)
|
||||||
context.Redirect(http.StatusTemporaryRedirect, "/dashboard")
|
context.Redirect(http.StatusTemporaryRedirect, "http://localhost:15995/dashboard")
|
||||||
}
|
}
|
||||||
|
|
||||||
func getDiscordUser(context *gin.Context, oauthToken *oauth2.Token) discordUser {
|
func getDiscordUser(context *gin.Context, oauthToken *oauth2.Token) discordUser {
|
||||||
|
log.Println(*oauthToken)
|
||||||
response, err := oauthConfig.Client(context.Request.Context(), oauthToken).Get("https://discord.com/api/users/@me")
|
response, err := oauthConfig.Client(context.Request.Context(), oauthToken).Get("https://discord.com/api/users/@me")
|
||||||
if err != nil || response.StatusCode != 200 {
|
if err != nil || response.StatusCode != 200 {
|
||||||
responseMessage := ""
|
responseMessage := ""
|
||||||
|
@ -163,6 +163,7 @@ func getDiscordUser(context *gin.Context, oauthToken *oauth2.Token) discordUser
|
||||||
"message": err.Error(),
|
"message": err.Error(),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
log.Println(string(body))
|
||||||
var user discordUser
|
var user discordUser
|
||||||
json.Unmarshal(body, &user)
|
json.Unmarshal(body, &user)
|
||||||
return user
|
return user
|
||||||
|
@ -203,6 +204,7 @@ func createOrUpdateUser(context *gin.Context, oauthToken *oauth2.Token, user dis
|
||||||
|
|
||||||
func dashboardDisplay(context *gin.Context) {
|
func dashboardDisplay(context *gin.Context) {
|
||||||
oauthTokenJSON, err := context.Cookie("discord-oauthtoken")
|
oauthTokenJSON, err := context.Cookie("discord-oauthtoken")
|
||||||
|
log.Println(oauthTokenJSON)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
var oauthToken *oauth2.Token
|
var oauthToken *oauth2.Token
|
||||||
err := json.Unmarshal([]byte(oauthTokenJSON), &oauthToken)
|
err := json.Unmarshal([]byte(oauthTokenJSON), &oauthToken)
|
||||||
|
@ -210,9 +212,10 @@ func dashboardDisplay(context *gin.Context) {
|
||||||
if oauthToken.Valid() {
|
if oauthToken.Valid() {
|
||||||
user := getDiscordUser(context, oauthToken)
|
user := getDiscordUser(context, oauthToken)
|
||||||
if dbcommands.DatabaseUserLoggedIn(db, user.Id) {
|
if dbcommands.DatabaseUserLoggedIn(db, user.Id) {
|
||||||
context.HTML(http.StatusOK, "dashboard.html", user)
|
context.JSON(http.StatusOK, user)
|
||||||
|
return
|
||||||
} else {
|
} else {
|
||||||
context.Redirect(http.StatusTemporaryRedirect, "/logout")
|
context.Redirect(http.StatusTemporaryRedirect, "http://localhost:31337/logout")
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue