Pboieranie z Go na front tokenu JWT
This commit is contained in:
parent
a624045281
commit
5559e8ace6
@ -2,7 +2,7 @@ package main
|
|||||||
|
|
||||||
//Uruchomienie na windowsie
|
//Uruchomienie na windowsie
|
||||||
// go run main.go connector_couchdb.go connector_mysql.go models.go views.go
|
// go run main.go connector_couchdb.go connector_mysql.go models.go views.go
|
||||||
|
//go run main.go connector_couchdb.go connector_mysql.go models.go views.go tokens.go
|
||||||
import (
|
import (
|
||||||
"net/http"
|
"net/http"
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@ import (
|
|||||||
var mySigningKey = []byte("DoTokenowDlaUszytkownikow")
|
var mySigningKey = []byte("DoTokenowDlaUszytkownikow")
|
||||||
|
|
||||||
func GenerateJWT(_login string) (string, error) {
|
func GenerateJWT(_login string) (string, error) {
|
||||||
|
//generowanie tokena jwt
|
||||||
token := jwt.New(jwt.SigningMethodHS256)
|
token := jwt.New(jwt.SigningMethodHS256)
|
||||||
claims := token.Claims.(jwt.MapClaims)
|
claims := token.Claims.(jwt.MapClaims)
|
||||||
|
|
||||||
@ -26,10 +27,10 @@ func GenerateJWT(_login string) (string, error) {
|
|||||||
return tokenString, nil
|
return tokenString, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func isTokenValid() bool, error{
|
func isTokenValid(tokenString string) (bool, error) {
|
||||||
//sprawdza czy podany token jest pawidlowy
|
//sprawdza czy podany token jest pawidlowy
|
||||||
if r.Header["Token"] != nil {
|
if tokenString != "" { //JWT Parse przyjmuje stroinga, bo header norlanie jest lista, a ja mu tu wyluskane stringa dam
|
||||||
token, err := jwt.Parse(r.Header["Token"][0], func(token *jwt.Token) (interface{}, error) { //sprawdzanie tokena
|
token, err := jwt.Parse(tokenString, func(token *jwt.Token) (interface{}, error) { //sprawdzanie tokena
|
||||||
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
|
||||||
return nil, fmt.Errorf("There was an error ")
|
return nil, fmt.Errorf("There was an error ")
|
||||||
}
|
}
|
||||||
@ -45,13 +46,13 @@ func isTokenValid() bool, error{
|
|||||||
if token.Valid {
|
if token.Valid {
|
||||||
//jesli token prawidlowy, to zwraca true
|
//jesli token prawidlowy, to zwraca true
|
||||||
return true, nil
|
return true, nil
|
||||||
}else{
|
} else {
|
||||||
fmt.Println("[isTokenValid] Nieprawidłowy token")
|
fmt.Println("[isTokenValid] Nieprawidłowy token")
|
||||||
return false, nil
|
return false, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
return false, nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -109,21 +109,35 @@ func loginUserView(c *gin.Context) {
|
|||||||
fmt.Println("_token: ", _token)
|
fmt.Println("_token: ", _token)
|
||||||
|
|
||||||
if _login == "" {
|
if _login == "" {
|
||||||
c.JSON(http.StatusOK, "[loginUserView][Error] Nie podano loginu")
|
// c.JSON(http.StatusOK, "[loginUserView][Error] Nie podano loginu")
|
||||||
|
c.JSON(http.StatusOK, false)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if _password == "" {
|
if _password == "" {
|
||||||
c.JSON(http.StatusOK, "[loginUserView][Error] Nie podano hasła")
|
// c.JSON(http.StatusOK, "[loginUserView][Error] Nie podano hasła")
|
||||||
|
c.JSON(http.StatusOK, false)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
validLoginData, err := loginUser(_login, _password)
|
validLoginData, err := loginUser(_login, _password)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.JSON(http.StatusOK, "[loginUserView][Error] Nie mozna zalogowac")
|
// c.JSON(http.StatusOK, "[loginUserView][Error] Nie mozna zalogowac")
|
||||||
|
c.JSON(http.StatusOK, false)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
c.JSON(http.StatusOK, validLoginData) //true jak zalogowano
|
if validLoginData { //jezeli zwortic true - poprawne dane to generuje tokena
|
||||||
|
tokenString, err := GenerateJWT(_login) //generowanie tokenu dla dane uzytkownika
|
||||||
|
if err != nil { //jezeli jest bład
|
||||||
|
// c.JSON(http.StatusOK, "[loginUserView][Error] Nie mozna wygenerowac tokenu")
|
||||||
|
c.JSON(http.StatusOK, false)
|
||||||
|
|
||||||
|
}
|
||||||
|
c.JSON(http.StatusOK, tokenString) //zwraca token jak zalogowano
|
||||||
|
} else {
|
||||||
|
c.JSON(http.StatusOK, false) //zwraca token jak zalogowano
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func updateUserPointsView(c *gin.Context) {
|
func updateUserPointsView(c *gin.Context) {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import Vue from 'vue';
|
import Vue from 'vue';
|
||||||
import Vuex from 'vuex';
|
import Vuex from 'vuex';
|
||||||
|
// import axios from 'axios';
|
||||||
|
|
||||||
Vue.use(Vuex);
|
Vue.use(Vuex);
|
||||||
|
|
||||||
@ -13,6 +14,24 @@ export const store = new Vuex.Store({
|
|||||||
// { icon: 'get_app', text: 'Zaloguj', route: '/login'},
|
// { icon: 'get_app', text: 'Zaloguj', route: '/login'},
|
||||||
// { icon: 'account_circle', text: 'Rejestracja', route: '/register'},
|
// { icon: 'account_circle', text: 'Rejestracja', route: '/register'},
|
||||||
],
|
],
|
||||||
userToken : ""
|
// userToken : null // na przechoywanie tokena z GO dla usera
|
||||||
|
token: null,
|
||||||
|
user: null
|
||||||
|
},
|
||||||
|
getters:{
|
||||||
|
userToken: state => {//getter do pobieranie user tokena
|
||||||
|
var userToken = state.token.map(token => {
|
||||||
|
return {
|
||||||
|
token
|
||||||
|
}
|
||||||
|
});
|
||||||
|
return userToken;
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
mutations: {
|
||||||
|
LOGIN_SUCCESS(state, response) {
|
||||||
|
state.token = response;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
@ -67,11 +67,16 @@ export default {
|
|||||||
{"login": this.userLogin, "password": this.userPassword, "TokenZJS": "Ala"},
|
{"login": this.userLogin, "password": this.userPassword, "TokenZJS": "Ala"},
|
||||||
{ crossdomain: true })
|
{ crossdomain: true })
|
||||||
.then(response=>{
|
.then(response=>{
|
||||||
console.log(response.data);
|
console.log("Response data: ", response.data); //printuje Tokena
|
||||||
if (response.data == true){
|
|
||||||
|
if (response.data){
|
||||||
|
console.log("Dostał tokena")
|
||||||
|
this.$store.commit('LOGIN_SUCCESS', response.data)
|
||||||
|
console.log("DANE Z VUEXA DLA USERA")
|
||||||
|
console.log(this.$store.state.token) //pokazuje ze zapisał tokena
|
||||||
window.location.replace("http://localhost:8080/game");
|
window.location.replace("http://localhost:8080/game");
|
||||||
}
|
}
|
||||||
else{
|
else{ //coś poszło nie tak
|
||||||
console.log("Zły lolgin")
|
console.log("Zły lolgin")
|
||||||
this.snackbar = true
|
this.snackbar = true
|
||||||
this.userLogin = ''
|
this.userLogin = ''
|
||||||
@ -83,6 +88,7 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
}//dlugi if
|
}//dlugi if
|
||||||
|
|
||||||
this.userLogin = ''
|
this.userLogin = ''
|
||||||
this.userPassword = ''
|
this.userPassword = ''
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user