Алексей
погоди, ты собираешься отзывать рефреш-токен, если у пользователя началась новая сессия?
ты когда по рефрешу получаешь акцесс токен новый, само собой и меняешь рефреш токен
Mike
ты авторизуешься и тот кто у тебя его увёл, теряет доступы
Так, это звучит как одна сессия на пользователя
Алексей
поэтому я и говорю что если у тебя кто-то что-то украл, тебя разлогинет и ты такой: "что за нафиг?" логинешься и злоумышленик теряет доступы.
Алексей
получается да
Алексей
одна сессия на пользователя
Алексей
но это можно сделать что и 2е, будет просто 2а ваидных рефреш токена на каждую сессию свой
Mike
поэтому я и говорю что если у тебя кто-то что-то украл, тебя разлогинет и ты такой: "что за нафиг?" логинешься и злоумышленик теряет доступы.
Зашёл со второго телефона, разлогинило на первом. Ты такой «что за нафиг?» Перелогиниваешься, разлогинивает на втором. Удаляешь приложение на обоих.
Алексей
можно и так сделать
Mike
можно и так сделать
вспоминается картинка про троллейбус
Алексей
Зашёл со второго телефона, разлогинило на первом. Ты такой «что за нафиг?» Перелогиниваешься, разлогинивает на втором. Удаляешь приложение на обоих.
😂😂😂 ну это уже делать на 2е сесии, я тебе про безопастность а ты мне про то как на 2ух телефонах авторизоваться
Алексей
так зато безопасно) И я ещё раз говорю, можно и на 2е сесси сделать. у тебя просто желания нет. Тебе лиж бы быстро запилить))
U.
подскажите с загрузкой локального js в вебВью, вроде включено все и хром клиент есть. По прямой ссылке работает, а локально вытягивает все но js файл не запускается. на девайсе андроид 7 webView?.settings?.javaScriptEnabled = true webView?.settings?.domStorageEnabled = true webView?.webChromeClient = WebChromeClient() webView?.loadUrl("file:///android_asset/html/index.html") webView?.webViewClient = WebViewClient()
Алексей
и как сделать так чтоб немогли? Расскажи я вообще не буду париться
Алексей
так его тоже подменяют
Mike
Иначе и пароль отсниффят.
Gregory
Mike
xposed
Если у себя захочешь отсниффить, никто не остановит)
Gregory
Если у себя захочешь отсниффить, никто не остановит)
так а кто ещё может отсниффить с подменой сертификата?
Gregory
ну то есть это так не работает, откуда ты возьмёшь действительный сертификат на чужой домен?
Алексей
ну вот сразу ссылка как с убером развлекались
Алексей
https://habr.com/post/307774/
Stas
Всем привет, посоветуйте пожалуйста что-нибудь по котлину в добавок к документации.
Mike
https://habr.com/post/307774/
так сами себе же подменили, манипуляциями с собственным телефоном?
Алексей
так там для каждого пользователя свой ssl pinning?
Mike
э, слыш
Алексей
я так понял там подпись в приложении
Алексей
ты декомпилируешь его
Алексей
берёш там эту подпись
Алексей
и подменяй себе
Mike
и подменяй себе
и отсниффивай свой токен, ага
Алексей
ну я не шарю в них, интересуюсь
Gregory
https://habr.com/post/307774/
зачем они столько всего отправляют к себе на сервер?)
Konstantin
берёш там эту подпись
это паблик кей - его утечка не страшна для ссл пининга, если утечет private key который хранится на сервере - только в этом случае будет утечка
Gregory
номер симки, локальный ip, google advertising id, IMEI, наличие рута?..
Алексей
номер симки, локальный ip, google advertising id, IMEI, наличие рута?..
вообще полезно, безопасность)) видно если телефон другой)
Mike
номер симки, локальный ip, google advertising id, IMEI, наличие рута?..
Вспомнился фонарик, который собирал геолокацию.
Gregory
Алексей
ну есть такое
Gregory
может они это рекламщикам каким-нибудь потом продают?
Алексей
блин, надо устроиться в норм контору, научили бы как это делать по правильному)) а не клепать говно и думать что у тебя всё ок😂
Алексей
всё я растроен)
Алексей
всем спасибо
Konstantin
Как я понял ничего интереснее OAuth 2 и нет) Вопрос, access token делают на не продолжительное время, например 5 минут. Потом ты получаешь 401 и должен сделать переавторизацию отправив refresh token с получением нового access и refresh токена. Так вот: 1) нафиг нужен access token если ты в какой-то момент ты всё-равно шлёш refresh который могут перехватить? Ну тут получается обязательно делать тот рефреш не валидным иначе им можно будет пользоваться. А так нужно ещё и получить от сервера новый сгенерированный рефреш токен)) 2) сам механизм переавторизации на андроид геморный. так как могут быть паралельно 2а и более запросов и в этот момент кончается access token, надо ставить все запросы в очередь, потом надо обновлять access token, и повторять все запросы. Есть какие-то примеры как это нормально делают? Просто я сам писал, хочу посмотреть как другие делали этот механизм переавторизации.
делали в приложении OAuth2 как ты описал, просто синхронизировали переполучение токена - решение тоже самописное
Алексей
ssl пининг - защита от mitm
ну я это понял, в статье же той было
Gregory
ssl пининг - защита от mitm
лично я его вижу как очередной способ за-shit-ы от реверс инжиниринга
Gregory
не-не, полно же MITM в точках доступа
так а откуда у них доверенный сертификат возьмётся?
Gregory
если бы это работало, то SSL/TLS был бы фундаментально сломан и никаких гарантий безопасности бы не предоставлял
Vadim
можно ли как то "ускорить" исчезновения tabbar'a?
Anton
продублирую тут мой вопрос... Anton Potekhin, [25.04.18 16:53] Вот пытаюсь разобраться с MVVM и никак не пойму как правильно делать слой данных. Вот например есть StatusViewModel у которой есть statusLiveData на который подписан View. Так же в StatusViewModel есть метод getStatus который джолжен иницировать запрос статуса через API. Для API используется retrofit. Грубо говоря есть метод Observable<Token> getStatus(); Так вот сейчас на скорую руку сделал в метода getStatus: Observable<Token> obsToken = App.getApi().getStatus(); subscribe = obsToken.subscribeOn(Schedulers.io()) .subscribe(_token -> { statusLiveData.postValue("token: " + _token.getToken()); })); Но насколько я понимаю это не правильно. Но вот как делать правильно не пойму. Покажите направление куда думать ;)
Anton
Почему не правильно?
Чувствую что нужно как-то более модно и молодежно сделать... Я тут использую getApi. И соответственно у меня вьюмодель привязана к ретрофиту жёстко. И если мне захочется сменить его на что-то другое то придется и вьюмодель менять...или я не прав?
Alexey
Презентер у интерактора просит статус, интерактор у репозитория, репозиторий возвращает интерактору а тот презентеру. Презентер обновляет вьюмодель через поле
Artem
Тут плохо то что у тебя неявная зависимость App.getApi()
Anton
Да в соседней группе меня уже послали на репозитории ;)
Alexey
Да в соседней группе меня уже послали на репозитории ;)
Самое главное - понять смысл нахрена все это надо) потом только на слои дробить
Anton
Пошел изучать примеры про репозитории
Aleksandr
Народ, такой вопрос
Aleksandr
Создал версию приложения (единственную)
Aleksandr
Хочу залить её во внутреннее тестирование
Aleksandr
Но как я понял нужно получить "URL регистрации", по которому зарегаются тестеры
Aleksandr
А оно не активно
Aleksandr
И пишет, что приложение готово к публикации
Aleksandr
*готовится
Vladimir
Где manage testers
Aleksandr
Нету
Aleksandr