Size: a a a

2020 April 04

DM

Dima MIYUZOV in Java & Co
Доброго дня, я тут немного запутался - подскажите пожалуйста. При реализации авторизации  с помощью jwt - старая добрая сессия на сервере больше ненужна?
источник

VS

Vitaly Sirotkin in Java & Co
Dima MIYUZOV
Доброго дня, я тут немного запутался - подскажите пожалуйста. При реализации авторизации  с помощью jwt - старая добрая сессия на сервере больше ненужна?
Да, jwt - stateless
источник

z

zeo in Java & Co
У меня есть переменная  GOOGLE_APPLICATION_CREDENTIALS=C:\apikey.json

Находится она в конфигурации проекта
Когда я создаю jar, он не вытаскивает эту переменную
Можно каким-то образом прям в коде прописать что-то типа private static final  GOOGLE_APPLICATION_CREDENTIALS = "C:\apikey.json что бы работала она так же как в настройках проекта ?
источник

Б

Боня in Java & Co
Да, там где достаешь ее из систем
источник

DM

Dima MIYUZOV in Java & Co
спасибо Виталий.

Есть еще 1 вопрос.
Хочу сделать принцип как  вконтакте, если допустим зайти с 1 браузера в чат, то на следующий день я просто введу адрес страницы и буду там авторизован. Если зайду с 2 браузера нужно опять будет ввести данные чтобы чат запомнил меня.

Вопрос в чем - мне нужно адекватно отображать есть ли пользователь в сети - учитывая разные устройства (в моей случае разные браузеры).

Я прочитал про access и refresh токены и решил что у каждого юзера может их быть много, рефреш использовать как раз для "запоминания устройства" с длительным временем жизни, а access - для запросов.

Так вот будет табличка
id_token (первичный ключ) | access_token | refresh_token | id_user (вторичный ключ)

Как будет проверка на логин - буду по вторичному ключу искать access_token - если нет хотя бы одного валидного, значит пользователь не в сети.

И если подход правильный - хотелось бы услышать мнение по этой таблице, в качестве первичного ключа нормально использовать id?
источник

/

/dev/null in Java & Co
zeo
У меня есть переменная  GOOGLE_APPLICATION_CREDENTIALS=C:\apikey.json

Находится она в конфигурации проекта
Когда я создаю jar, он не вытаскивает эту переменную
Можно каким-то образом прям в коде прописать что-то типа private static final  GOOGLE_APPLICATION_CREDENTIALS = "C:\apikey.json что бы работала она так же как в настройках проекта ?
А почему вы не считываете переменную окружения при старте приложения из той среды где вы ее запускаете?
источник

/

/dev/null in Java & Co
Ну и да, там где вы запускаете приложение, необходимо задать эту переменную окружения
источник

Б

Боня in Java & Co
Так это в идее задаётся переменная
источник

/

/dev/null in Java & Co
Боня
Так это в идее задаётся переменная
она не нужна для работы приложения?
источник

/

/dev/null in Java & Co
в рантайме?
источник

z

zeo in Java & Co
/dev/null
А почему вы не считываете переменную окружения при старте приложения из той среды где вы ее запускаете?
А каким образом это можно сделать ? Я запускаю в идее проект и он работает, как только делаю jar то в нем ошибка что не авторизовалось
источник

Б

Боня in Java & Co
Так найди где переменная считывается и пропиши жёстко в коде
источник

/

/dev/null in Java & Co
zeo
А каким образом это можно сделать ? Я запускаю в идее проект и он работает, как только делаю jar то в нем ошибка что не авторизовалось
Потому идея имулирует установленную переменную окружения, установите ее в системе.
источник

/

/dev/null in Java & Co
Там где запускаете свой jar
источник

z

zeo in Java & Co
/dev/null
Потому идея имулирует установленную переменную окружения, установите ее в системе.
Она и в системе стоит
источник

/

/dev/null in Java & Co
zeo
Она и в системе стоит
тут одно из двух, либо вы ее неверно установили либо неверно считываете
источник

/

/dev/null in Java & Co
/dev/null
тут одно из двух, либо вы ее неверно установили либо неверно считываете
скорее первое, т.к в идеи у вас работает
источник

z

zeo in Java & Co
Суть в том, что я не понимаю где в коде она считывается, если я удалю из environment variables эту переменную оно тоже будет работать
источник

A

Anvar in Java & Co
Dima MIYUZOV
спасибо Виталий.

Есть еще 1 вопрос.
Хочу сделать принцип как  вконтакте, если допустим зайти с 1 браузера в чат, то на следующий день я просто введу адрес страницы и буду там авторизован. Если зайду с 2 браузера нужно опять будет ввести данные чтобы чат запомнил меня.

Вопрос в чем - мне нужно адекватно отображать есть ли пользователь в сети - учитывая разные устройства (в моей случае разные браузеры).

Я прочитал про access и refresh токены и решил что у каждого юзера может их быть много, рефреш использовать как раз для "запоминания устройства" с длительным временем жизни, а access - для запросов.

Так вот будет табличка
id_token (первичный ключ) | access_token | refresh_token | id_user (вторичный ключ)

Как будет проверка на логин - буду по вторичному ключу искать access_token - если нет хотя бы одного валидного, значит пользователь не в сети.

И если подход правильный - хотелось бы услышать мнение по этой таблице, в качестве первичного ключа нормально использовать id?
Сколько будет жить access токен?
источник

DM

Dima MIYUZOV in Java & Co
Anvar
Сколько будет жить access токен?
без разницы, допустим 10 минут
источник