/
sam_single_1
/
Fronend
Обзор
Документация
Войти
/
sam_single_1
/
Fronend
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/AuthModule/vk/utils/functions.js
49 строк
2 KB
sam_single_1
First Commit
23 окт 2024, 12:13
23 окт 2024, 12:13
7302d97
Код
Авторство
О чём код?
import { ts, UDTO } from "../../TypesValidation/udto"; import { CLIEND_ID, REDIRECT_URL } from "../../conf"; import { api_request_second_login } from "../http/auth_requests"; import { auth_store } from "../../store/Store"; function get_url_params() { const res_type = { code: ts.s, state: ts.s, device_id: ts.s }; const res_err = [""]; const queryParameters = new URLSearchParams(window.location.search); const res = { code: queryParameters.get("code"), state: queryParameters.get("state"), device_id: queryParameters.get("device_id"), }; return new UDTO(res_type, res, res_err); } export async function login_second() { const a = get_url_params(); if (a.er) { } else { auth_store.vk_login(a.pl.code, a.pl.device_id); const r = new UDTO( { state: ts.s, code: ts.s, devidce_id: ts.n }, { state: a.pl.state, code: a.pl.code, device_id: a.pl.device_id }, [""] ); const res = await api_request_second_login(r); if (!res.er) { auth_store.second_login(res.pl.access_token, res.pl.vk_user_id); } } } export async function vk_login(r) { if (r.er) { } else { const response_type = "code"; const client_id = CLIEND_ID; const redirect_uri = REDIRECT_URL; const code_challange_method = "S256"; const scope = "vkid.personal_info"; const state = r.pl.state; const code_challenge = r.pl.code_challenge; const vkAuthUrl = `https://id.vk.com/authorize?response_type=${response_type}&client_id=${client_id}&redirect_uri=${redirect_uri}&state=${state}&scope=${scope}&code_challenge=${code_challenge}&code_challenge_method=${code_challange_method}`; window.open(vkAuthUrl, "_blank"); } }