|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Если заюзать "технологию" по полной, с применением выделенного сервера - то как это должно выглядеть в типичной организации? Форма аутентификации, как я понял - это механизм самого сервера, кастомизируемый (в части стилей). Вообще - сервер аутентификации стремится предоставить максимум функциональности по управлению профилем пользователя, как я понял. Личный кабинет и прочая фигня. Кстати, непонятно, как это должно сочетаться с остальной функциональностью таких компонентов, как личный кабинет. Главный вопрос - где надо хранить информацию о ролях/разрешениях пользователя? На том же сервере SSO? *ука, ни черта не понятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 10:20 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомФорма аутентификации, как я понял - это механизм самого сервера, кастомизируемый (в части стилей). Да. При чём форма может быть разной в зависимости от того, с какого приложения пришёл, а в мультитенантной системе ещё и от какого тенанта. Агнец за бортомВообще - сервер аутентификации стремится предоставить максимум функциональности по управлению профилем пользователя, как я понял. Личный кабинет и прочая фигня. Нет. Нет. И ещё раз нет. Сервер SSO решает только задачу авторизации и аутентификации (если не предоставляется возможность внешней аутентификации). Никакого управления профилем пользователя. Никакого личного кабинета. Никакой прочей фигни. Агнец за бортомКстати, непонятно, как это должно сочетаться с остальной функциональностью таких компонентов, как личный кабинет. Личный кабинет находится там же, где и должен. Либо в самом приложении. Либо отдельное приложение. Либо микро-сервис, размещаемый в площадке приложения. Агнец за бортомГлавный вопрос - где надо хранить информацию о ролях/разрешениях пользователя? На том же сервере SSO? Нет. SSO это механизм. Он может работать с той же базой, что и ПО для выполнения аутентификации. Так как SSO выдаёт токен, авторизация происходит в приложении, который смотрит в токен, проверяет роли, клеймы и т.д. SSO только выдаёт их. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 10:57 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttСервер SSO решает только задачу авторизации и аутентификации (если не предоставляется возможность внешней аутентификации) Уточню про авторизацию. Речь идёт о доступе к требуемому приложению вообще, а не функциональности приложения. Это уже решается на стороне приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 10:58 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Че так волнует личный кабинет? Он может быть и может не быть. ГосУслуги есть кабинет, но при минимуме api ты просто получаешь инфу типа фио, рол, адрес... ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомГлавный вопрос - где надо хранить информацию о ролях/разрешениях пользователя? На том же сервере SSO? Identity provider например типа Shibbolet как в госуслугах. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомФорма аутентификации, как я понял - это механизм самоголюбая. Главное вклиниться ф конвейер обработки запроса и спрашивать idp прова кто это и что это. Но лучше либы а не руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:16 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Че так волнует личный кабинет? Я пытаюсь понять как правильно. Фотку меняем тут, а email - там - странна. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:22 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttУточню про авторизацию. Речь идёт о доступе к требуемому приложению вообще, а не функциональности приложения. Это уже решается на стороне приложений. Это так. Но информацию о пользователе, необходимую для авторизации (напр. его членство в ролях), приложениям поставляет сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:28 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Че так волнует личный кабинет? Я пытаюсь понять как правильно. Фотку меняем тут, а email - там - странна. В гугле есть кабинет? У меня там левые данные. Вот я и авторизуюсь через него левыми))). А вообще, idp провайдер Отвечает за правильность данных авторизуемого. Т.е. у тебя может быть свой кабинет, а там свой. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:32 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Че так волнует личный кабинет? Я пытаюсь понять как правильно. Фотку меняем тут, а email - там - странна. Всё тут. Ничего "там" делать не нужно. SSO реализует единую централизованную аутентификацию и авторизацию для множества приложений, и устройств. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123В гугле есть кабинет? У меня там левые данные. Грррррхххкккк... Если я пользователю предлагаю зарегестрироваться на сервере SSO, и он вводит там свои телефоны/имайлы, то как-то странно предлагать сделать это еще раз, но уже "у себя". ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttВсё тут. Ничего "там" делать не нужно. Не понимаю. Сервер SSO не предлагает загрузить фото профиля. Но email вбить - предлагает. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:39 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
КурдльНо информацию о пользователе, необходимую для авторизации (напр. его членство в ролях), Я правильно понимаю, что роли "через запятую" надо вбить на сервере SSO, которые он потом положит в токен? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:40 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttУточню про авторизацию. Речь идёт о доступе к требуемому приложению вообще, а не функциональности приложения. Это уже решается на стороне приложений. Мне стыдно, но я вообще не понял этой фразы. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:41 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Я правильно понимаю общую схему? Пользователь запрашивает защищенный ресурс. 1.Приложение "смотрит" - is user authentic? 2.Если нет, то спрашивает у SSO - это кто? 3.SSO через свою форму проводит аутентификацию и в случае успеха... 4. Выдает токен с ролями и прочей инфой. 5. Юзер редиректирится опять в приложение уже с токеном. 6. Приложение смотрит в токен (сверяя инфу в токене с ключом)... 7. И если находит роль (если надо) - то всё ок. Если правильно - то где прописываются роли? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 11:46 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttВсё тут. Ничего "там" делать не нужно. Не понимаю. Сервер SSO не предлагает загрузить фото профиля. Но email вбить - предлагает. Сервер SSO предлагает способы для прохождения аутентификации. После прохождения аутентификации, SSO смотрит можно ли данному пользователю пользоваться указанным приложением. Если да, предлагает выбрать набор атрибутов безопасности (полномочий), с которым пользователь собирается заходить в приложение. Ничего никуда там не загружается. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:10 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ правильно понимаю общую схему? Пользователь запрашивает защищенный ресурс. 1.Приложение "смотрит" - is user authentic? 2.Если нет, то спрашивает у SSO - это кто? 3.SSO через свою форму проводит аутентификацию и в случае успеха... 4. Выдает токен с ролями и прочей инфой. 5. Юзер редиректирится опять в приложение уже с токеном. 6. Приложение смотрит в токен (сверяя инфу в токене с ключом)... 7. И если находит роль (если надо) - то всё ок. Если правильно - то где прописываются роли? Правильно. Где угодно, зависит от выбранной архитектуры. У нас, например, всеми пользователями управляют в отдельном приложении IDM, оттуда через API приложение SSO берёт информацию, а также запрашивает пользователя по логину/паролю. В приложение IDM тоже вход через SSO. :) Никто не мешает тебе в приложении SSO обращаться за пользовательской информацией в одно единственное БД приложения. В общем, тут всё by design. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:12 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЕсли я пользователю предлагаю зарегестрироваться на сервере SSO, и он вводит там свои телефоны/имайлы, то как-то странно предлагать сделать это еще раз, но уже "у себя".ну у нас конкретно, в фирме были рабочие телефоны и почта. В госуслугах личные телефоны и почта. Ты делай как хочешь. Возможность такая есть, т.к. личный кабинет idp прова НЕ ТВОЙ. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:14 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЕсли правильно - то где прописываются роли? Где хочешь. Тебе сказали что это Иванов Петр Иванович. Это главное. Можешь добавить там роли. Но это по желанию. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 12:19 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомсервере SSO? А какую конкретно реализацию вы предполагаете использовать? IdentityServer4? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 13:53 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
ArpanxАгнец за бортомсервере SSO? А какую конкретно реализацию вы предполагаете использовать? IdentityServer4? https://identityblitz.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 14:01 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, https://docs.identityblitz.ru/blitz-idp/storage/ ну вот про хранилища учётных данных неплохое решение, кстати, взять готовый сервак, если по всем параметрам он вас устраивает на IdentityServer4 можно запилить своё, но по сути будет тоже самое ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 14:26 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVostt, Протокол ещё выбрать. Там шифрация не простая, поэтому руками сложно. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 14:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123, Ничего сложного ) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 14:40 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttPetro123, Ничего сложного ) SAML? Ха ха ха) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.07.2018, 14:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Я правильно понимаю, что обычно юзают какой-то клиент (либу) на стороне service provider-a? Ему скармливаешь endPoints и сам клиент уже рулит всеми токенами, проверками на членство в ролях и т.п. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 20:07 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ правильно понимаю, что обычно юзают какой-то клиент (либу) на стороне service provider-a? Ему скармливаешь endPoints и сам клиент уже рулит всеми токенами, проверками на членство в ролях и т.п. Зависит от задач, от архитектуры, от топологии, от подходов и технологий. Нет конкретного решения. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 20:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомЯ правильно понимаю, что обычно юзают какой-то клиент (либу) на стороне service provider-a? Ему скармливаешь endPoints и сам клиент уже рулит всеми токенами, проверками на членство в ролях и т.п. Зависит от задач, от архитектуры, от топологии, от подходов и технологий. Нет конкретного решения. Самому писать клиента что ли? Со всеми этими refresh-ами, секретными ключами и т.п.? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 21:46 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Тоже ковыряю реализацию на IdentityServer4 У меня после того как я авторизируюсь получаю Хеш. Потом иду " http://localhost:5000/.well-known/openid-configuration/jwks" получаю ключи шифрования Потом имея ХЕШ и ключи вычисляю токены доступа. Все, после этого могу этим токеном подписывать обращение к WebAPI Информация о ролях и доступах получаю вот отсюда, уже потом после того как получу токены. " http://localhost:5000/connect/userinfo" Эта информацию использую на клиенте Ангуляр для того чтобы интерфейс графический пользователю отображать нужный. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 22:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомСамому писать клиента что ли? Со всеми этими refresh-ами, секретными ключами и т.п.? Зачем? http://docs.identityserver.io/en/release/reference/client.html ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 23:03 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Arpanx, А что является id юзера? Он же регистрируется на IdentityServer4? Ты получаешь от него userID и его используешь уже в своём приложении? И как тут без "личного" кабинета? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.07.2018, 23:43 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Посмотри как это сделано на хабре. Единый вход для всех сайтов и сервисов TM, на каждом сайте свой личный кабинет, однако управление аккаунтом (логин/пароль) перекидывает на SSO. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 00:09 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttоднако управление аккаунтом (логин/пароль) перекидывает на SSO. Это и есть "личный кабинет", правильно? Управляем логином/паролем + отключаем/подключаем соцсети - типа самый минимум. userID - тот, что хранится в SSO и он "центральный". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 00:22 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
А почему, интересно в таком случае список провайдеров на основных сайтах такой бедный? Ведь нужно, чтобы сервер-провайдер аутентификации реализовывал OAuth, а добавить его может и сам пользователь. Хочу по FB, хочу - вообще по левому сайту какому-нибудь? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 00:27 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом 1) Отправляем запрос к IdentityServer4 обычный GET-запрос из JSClienta/Ангуляра https://localhost:44318/connect/authorize? client_id=angularclient &redirect_uri=https%3A%2F%2Flocalhost%3A44311 &response_type=id_token%20token &scope=dataEventRecords%20securedFiles%20openid20profile &nonce=N0.258698376964128451532801480909 &state=15328014791890.33345671067938976&ui_locales=de-CH После этого запроса клиента перебрасывает из его родного JSClienta на ASP.NET MVC сайт IdentityServer4 c формой логина/пароля. 2) на сервере IdentityServer4 заполянем форму login/password 3) IdentityServer4 в ответ на успешную авторизацию делает Callback на заранее указанный адрес, (на неуспешную делает callback на другой заранее согласованный url клиента для неавторизованного случая) и сообщает на Хеш: "#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjA2RDNFNDZFOTEwNzNDNUQ0QkMyQzk5ODNCRTlGRjQ0OENGNjQwRDQiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJCdFBrYnBFSFBGMUx3c21ZTy1uX1JJejJRTlEifQ.eyJuYmYiOjE1MzI4MDI2ODQsImV4cCI6MTUzMjgwMjcxNCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzMTgiLCJhdWQiOiJhbmd1bGFyY2xpZW50Iiwibm9uY2UiOiJOMC4xMjUxMzQyNzQyNzcwNzEzNjE1MzI4MDI2Nzg4MTkiLCJpYXQiOjE1MzI4MDI2ODQsImF0X2hhc2giOiJVSkozNlBTb3hPd0h2MmI5TWdCM1V3Iiwic2lkIjoiMWYzYjAzMDdlY2VkNzRiM2ZhMmI0MmVlNjJiMmZjODMiLCJzdWIiOiJhYWJhYWZmOC1mMmRlLTQ3YzEtYmRjZC02MzQxZjM1ZDA3ODciLCJhdXRoX3RpbWUiOjE1MzI4MDI2ODQsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.BHk-bTLwtopb7jp4Nigy_G3rBFZ1bBJuouk_fbCUmXAlmpin02AcoZQZazs76PfU2xjsFhl7bKJ8E9TA2kQ8nsNEy0f88J44L_MgzIfUp3lkaMqa1gsUo7iAZAf5kbtHVFXlsxAfX2enJLhWNyhJWpozC4LksEJ-ChmLvKJxfM3KBabz98Md3KBatx90_Awsy6zXfvVjqXaUVno_WUeDY0S7aWpwdedtdvfv7Ypg9EzCsSN_UyTnrV78iNRnbmMQzwcQ3M0WTitAV5oyoz8uDHH3gpWfgQXVG8s9m2sNGja7WCHHRNhCwY5Eh3lQLTtG8BYcFJS8ZzXn4UqjKWOHlQ&access_token=1d275edf73f5a0ba856707e6b201484b8b9cb37a1c8822e6ec7ae7b0f917b509&token_type=Bearer&expires_in=330&scope=openid%20profile%20dataEventRecords%20securedFiles&state=15328026788190.44407987383214875&session_state=o4dw9uykjgBcxJ_S5mgbCz2BLKn_9AArUB0uPW-qcPo.dd523232979f073b91eb7dfa08c9b0c1" этот ответ Ангуляр/JSClient запоминает где-то у себя в store сессии 4) потом Ангуляр/JSClient ломиться Get-запросом опять на Identity сервер на специальный URL " http://localhost:44318/.well-known/openid-configuration/jwks", в ответ сервер присылает какие-то ключи. что-то такое: {"keys":[{"kty":"RSA","use":"sig","kid":"06D3E46E91073C5D4BC2C9983BE9FF448CF640D4","x5t":"BtPkbpEHPF1LwsmYO-n_RIz2QNQ","e":"AQAB","n":"sOzqgYngkiOaAuK15FI-SUzhU9uq7SLCfDI-h5uOeKwW9gpH6iyDiXp1mCCCWJiGEWvwxfCpjP7rSj9Trv7cx1h2M33EMRQ3ImJkYIlxeoEwgOaXwL3mK0931bUk4s2HKUUi5pAR7Y7QlEzzaL3EeyfdkRkXspAGMgmZHTnxMILnXWeFuyApRtPJkg2jIohwkARtTHjocZ9E2pgIHZ-s4H9A1jk0vFIwDoX5vmAyjkbwrZkSa2Sk1mf1ELpH261YaWCUVqbuzqmi-JOi1s0L9ONJORSLh6wNw2oH9ExRyp9dZHcoLSKvhiwxCzO_9xNt4S1JZLgejfTu8EKKZe8-0w","x5c":["MIIDDjCCAfqgAwIBAgIQSkEsGuYMeZRFzN5Z75UPGTAJBgUrDgMCHQUAMBQxEjAQBgNVBAMTCWRhbWllbmJvZDAeFw0xMDAxMjAyMzAwMDBaFw0yMDAxMjAyMzAwMDBaMBoxGDAWBgNVBAMTD2RhbWllbmJvZHNlcnZlcjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDs6oGJ4JIjmgLiteRSPklM4VPbqu0iwnwyPoebjnisFvYKR+osg4l6dZgggliYhhFr8MXwqYz+60o/U67+3MdYdjN9xDEUNyJiZGCJcXqBMIDml8C95itPd9W1JOLNhylFIuaQEe2O0JRM82i9xHsn3ZEZF7KQBjIJmR058TCC511nhbsgKUbTyZINoyKIcJAEbUx46HGfRNqYCB2frOB/QNY5NLxSMA6F+b5gMo5G8K2ZEmtkpNZn9RC6R9utWGlglFam7s6poviTotbNC/TjSTkUi4esDcNqB/RMUcqfXWR3KC0ir4YsMQszv/cTbeEtSWS4Ho307vBCimXvPtMCAwEAAaNeMFwwEwYDVR0lBAwwCgYIKwYBBQUHAwEwRQYDVR0BBD4wPIAQ1My0H7LinPSutQIwzgufiqEWMBQxEjAQBgNVBAMTCWRhbWllbmJvZIIQbEw9c+es77BHxIknuXjKhjAJBgUrDgMCHQUAA4IBAQA4yFhqLKYcA3e8dUCwKsD2iikow5amT+DWjqhZEEZxkGA/I47hCoUHYW+jMiwJBiiSVYmnu0fCCjOgvS5i9DgAIhVIs+mhuNPSThwNf/IsCxoM1dPfw3JEXYffP/7/Yk8wyxQJ+9VGIO1H19am6d/jolKMfBNIk/2rHSeLzph6C1GkL+OcZevqOoElC1/jt5LoHtUw2vnK4E6uZpNpvUD7AmMSkXd9979F7pZxY/Bn2AqeQVYfGuLvimVJSJNNx26L5k6Ah+sH+bXV3LX0wXOV4JfnUh3tpe15ymQDZQ72jmCZe6JQu9ylHYXzEXYfOCJEoxyDaSfau4/ZkLJZMout"],"alg":"RS256"}]} Затем Ангуляр/JSClient (на клиенте в смысле) проверять валидный ли был ответ от сервера в тот раз когда он нам Callback сделал и прислал какой-то Хеш. Для этого он берет этот Хеш из Callback и ключи шифрования который он получил по ссылке " http://localhost:44318/.well-known/openid-configuration/jwks" и что-то там проеверяет/вычисляет. если все прошло успешно то на клиенте (Ангуляр/JSClient ) у нас есть вычисленные: access_token: "549972f7f4bae1211c67f323d6615fbbb5fe8a9073aad5d1d87ed4773f3e07db" id_token: "eyJhbGciOiJSUzI1NiIsImtpZCI6IjA2RDNFNDZFOTEwNzNDNUQ0QkMyQzk5ODNCRTlGRjQ0OENGNjQwRDQiLCJ0eXAiOiJKV1QiLCJ4NXQiOiJCdFBrYnBFSFBGMUx3c21ZTy1uX1JJejJRTlEifQ.eyJuYmYiOjE1MzI4MDQ0MDgsImV4cCI6MTUzMjgwNDQzOCwiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzMTgiLCJhdWQiOiJhbmd1bGFyY2xpZW50Iiwibm9uY2UiOiJOMC4wNzc5NDE5NjQxNzk5OTk0MzE1MzI4MDQ0MDg0OTEiLCJpYXQiOjE1MzI4MDQ0MDgsImF0X2hhc2giOiJMWlMtS3hUQTVMYXVXSl9lOGp0Q1JBIiwic2lkIjoiMWYzYjAzMDdlY2VkNzRiM2ZhMmI0MmVlNjJiMmZjODMiLCJzdWIiOiJhYWJhYWZmOC1mMmRlLTQ3YzEtYmRjZC02MzQxZjM1ZDA3ODciLCJhdXRoX3RpbWUiOjE1MzI4MDI2ODQsImlkcCI6ImxvY2FsIiwiYW1yIjpbInB3ZCJdfQ.TRp3GJfnWQhkglyKMGHKpJ1qQ1mXTYaLExOX8gJiQH3p7IVq7dMM-LzWir7bsG--sxHt4bvv-RawDfKese9uO2S9PpKRf-uc5Q3_PQe0qQ1t4uMsdDLL_mLtneJMey5SldSSeMxXfd3GXSw8GVyQDPanLmzEzjeUqX8gg8d6FIomCsFPdfoUg12P4QKJ-Yz0v-WDDxuVEfrm8r3RVUHxnyempDhhyQs8dDb5htXdlBKah1pahI0RCJojbdq-ozyMmI6X7Rt00LyKni7mRp6QDpkE3yecm0LROnjIjtKq0OuKhr5XOcuZNKWqk9H5XkkshEB-T5bjP0a2sV97MqUbyg" Все мы авторизировались есть токены которыми мы можем подписывать свой запрос, у нас есть доступ, все хорошо. Информацию о токене записали в store сессии браузера Теперь на клиенте нам интересно знать информацию о пользователе. Какие у него есть роли и т.д. Чтобы понимать какие части пользовательского интерфейса можно показывать, а какие не нужно. для этого надо обратиться на " http://localhost:5000/connect/userinfo" и подписаться в Headers headers = headers.set('Accept', 'application/json'); headers = headers.set( 'Authorization', 'Bearer ' + decodeURIComponent(token) на выходе имеем что-то типа такого: email:"admin@gmail.com" given_name:"admin@gmail.com" name:"admin@gmail.com" preferred_username:"admin@gmail.com" role:["admin", "dataEventRecords.user", "dataEventRecords", "securedFiles.user", "securedFiles"] scope:["dataEventRecords", "securedFiles"] sub:"aabaaff8-f2de-47c1-bdcd-6341f35d0787" Все. Это все касается способа AllowedGrantTypes = GrantTypes.Implicit, ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 00:32 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
ArpanxЗатем Ангуляр/JSClient (на клиенте в смысле) проверять валидный ли был ответ от сервера в тот раз когда он нам Callback сделал и прислал какой-то Хеш. Для этого он берет этот Хеш из Callback и ключи шифрования который он получил по ссылке Странно. Всё что я читал - все проверки на сервере. А "хеш" используется один раз и используется на сервере приложения. Зачем его в ангуляре хранить? o_O ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 00:42 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом , я описал то что наблюдаю в рабочем примере. Логин/пароль, да проверят сам сервер и он решает пускать пользователя или не пускать. На клиенте вычисляются эти 2 или 3 токена (один токен на доступ, другой на refresh-токена, еще там один для чего-то ), т.е. сервер их не сообщает в открытом виде, клиент их из хеша сам добывает. В принципе хеш можно не хранить, токены хранят. Когда токен протухает, клиент сам молча на фоне делает рефреш. Если пользователь 1 раз авторизовался на сервере и остается там авторизованный, то клиент второй раз не заставляет его вводить логин/пароль, а сам молча добывает токены. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 00:53 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЭто и есть "личный кабинет", правильно? Управляем логином/паролем + отключаем/подключаем соцсети - типа самый минимум. userID - тот, что хранится в SSO и он "центральный". Это скорее управление параметрами аутентификации. Личный кабинет, это управление функциями сайта, применительно к профилю пользователя, об этом SSO ничего не знает, да и знать не должен. Ну, в общем где тебе хранить учётные записи, решай сам :) ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 01:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ правильно понимаю, что обычно юзают какой-то клиент (либу) на стороне service provider-a? Ему скармливаешь endPoints и сам клиент уже рулит всеми токенами, проверками на членство в ролях и т.п. Что у тебя service провайдер? Твой сервер с веб проектом prjMy или сервер аутентификации sso организации? Либа зависит от протокола и того как написана. Я юзал oisaml и там либа ставится перед всеми запросами. Фильтром. В web.xml я писал адрес idp сервера и адрес куда он редиректит юзверя от себя в твое приложение prjMy. Ты только решаешь в своем фильтре пускать или нет, т.к. с редиректом пришло что это Иванов Иван Иванович. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 07:24 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttоднако управление аккаунтом (логин/пароль) перекидывает на SSO. Это и есть "личный кабинет", правильно? Управляем логином/паролем + отключаем/подключаем соцсети - типа самый минимум. userID - тот, что хранится в SSO и он "центральный".да. И кабинет не твой как бы, а кабинет sso. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 07:29 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Arpanx, +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 07:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttЛичный кабинет, это управление функциями сайта,тут непонятки, т.к. он назвал кабинетом формочку ввода пароля sso. Ну и хранилище логин пароль для формочки. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 07:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123, Да не важно это :) К вопросу о том что где размещать, без постановки, условий задачи и прочее, обращаться рано. Ответ сам найдётся, когда человек разберётся, что ему в конце концов нужно. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 08:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Что у тебя service провайдер? Service Provider - это web-приложение, которое отдает функционал аутентификации / авторизации серверу SSO. SSO - это сервер SSO Auth provider - это контакты / фейсбуки / гуглы и прочее. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 09:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123тут непонятки, т.к. он назвал кабинетом формочку ввода пароля sso. Ну, как бы... Одно дело на сайте разместить кнопку "Логин VK", другое дело - дать юзеру привязывать к своему основному аккаунту разнообразные учетки. Если это не личный кабинет (пусть и на SSO) - тогда я не знаю, что такое личный кабинет. К тому же, SSO-сервер также "мой". ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 09:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомService Provider - это web-приложение, которое отдает функционал аутентификации / авторизациину, или твое веб приложение prjMy. www.host/prjMy OK Агнец за бортомЕсли это не личный кабинет (пусть и на SSO) - тогда я не знаю, что такое личный кабинет.можно конечно назвать. Можно назвать профилем как на sql.ru. это я больше ему писал. Кроме того, даже если sso сервер твой это все равно внешняя система. ОК. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 09:50 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
У меня вопрос по теме. Я правильно понимаю, что все эти токены - это всё о stateless? Секретная часть ключа (для валидации токенов) - она одна и та же всё время жизни сервера и не меняется? А по хорошему, наверное - она вообще прописана где-то навсегда должна быть? Типа - все credentials - гоняются между браузером и сервером приложения (в виде токена), и на сервере просто проверяется их подлинность, в виде секретного ключа? Сессий нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 10:23 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомСессий нет?ты можешь сделать куками и / или вообще без токенов. У меня были сессии. Ну и протокол смотри. В SAML внутри XML ходила инфа. Это что больше ты любишь. Что тебе даст та сторона, смотри стандарт конкретного сервера. А у себя ты просто пропускаешь юзверя. Нафига токены? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 10:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Нафига токены? Задача - аутентификация через соц. сети. Подзадача - сделать это через сервер SSO. Сервер SSO имеет у себя кучу разных плюшек/вариантов авторизации. Так что, наверное, имеет смысл. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 10:50 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
И как правильней обновлять access token? Напрямую из ангуляра к SSO или через Service Provider? Ибо если мы говорим о stateless - получается - только из ангуляра. Если через service provider - тогда надо "мутить" сессии. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 10:54 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомТак что, наверное, имеет смысл.не имеет. Не надо все в кучу. Просто если пароль у sso валидный то он редиректом вместе с post отправит тебе всю инфу по юзверю. Ты либой это прочел и дальше ты САМ пускаешь куда хочешь! Это твоё дело с чем пускать юзверей. С куками или токенами. Понятно? Логично? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 11:03 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
На каждый F5 ситуация цикл повторяется. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 11:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомНапрямую из ангуляра к SSOу меня клиент вообще не знал никакого sso. Там только куки его валялись. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 11:06 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123, У меня "мутила " сессии либа. Не делай руками. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 11:09 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Протокол SAML - конфиг Код: c# 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 11:18 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Сори, там я выше ерунду написал про то что клиент вычисляет токены из хеша. Присмотрелся в хеше там там просто последовательно указан id_token и access_token и еще порция информации. Но у меня в клиент все таки этот хеш и ключи шифрования передавались в функцию ValidateResult(хеш, ключи) что он там валидировал не понятно, но токены вот они их видно. access_token можно уже подписывать обращение к API http://localhost:4200/login-callback#id_token=eyJhbGciOiJSUzI1NiIsImtpZCI6ImFlNjJjYTI1NGNmOWI2MjYxMjI3Zjc1MjFkOTM1NWQ2IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1MzI5NDcyNjAsImV4cCI6MTUzMjk0NzU2MCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiYXVkIjoiYW5ndWxhcm9pZGMiLCJub25jZSI6InVkNXF2WjF4ZTNKdnp6eERMSTdkR21KQ1BVdkV4OW1QczgzM0VPWHAiLCJpYXQiOjE1MzI5NDcyNjAsImF0X2hhc2giOiJNbXZaLXZNNE9JZUlud2twbmdYbHV3Iiwic2lkIjoiNzM3MzdhYjFmYmYyZWQyMmUwNTI4MGQ5ODY2NWFhYTEiLCJzdWIiOiIxIiwiYXV0aF90aW1lIjoxNTMyOTE2ODk0LCJpZHAiOiJsb2NhbCIsImFtciI6WyJwd2QiXX0.DnzdocEBagxKO926Ze8YAT41S7mUAOFZEyurnRQ5oZRUwhuW8oyBRgh7s2LFEqQcBk7HrFKOQ2IrZ5l2A76VYC3xcDE6ERix5QdchKaVfZIATkEOios2yDhL-RFXmLQkQCDKUAT1eBy8fzjUi8WcZ8uP20wYC-TIYjoy9JOHNsfROOBF6V6oNCSR6SL7gtscsyAVBNczsaF0Mf6uaI5gAt-xkJXK2j9Xd_G1vzWxKg_pVRhGd7YfbITQWlWcOmPeAIo8WqI9AI8AJmcaFAkIIC8zX9DPzyA8bgt1cKfTHkwOXqNpdjFgpRsKb-TAfdwut50kZ2LSOcjrkN8MNvPYgQ &access_token=eyJhbGciOiJSUzI1NiIsImtpZCI6ImFlNjJjYTI1NGNmOWI2MjYxMjI3Zjc1MjFkOTM1NWQ2IiwidHlwIjoiSldUIn0.eyJuYmYiOjE1MzI5NDcyNjAsImV4cCI6MTUzMjk1MDg2MCwiaXNzIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwIiwiYXVkIjoiaHR0cDovL2xvY2FsaG9zdDo1MDAwL3Jlc291cmNlcyIsImNsaWVudF9pZCI6ImFuZ3VsYXJvaWRjIiwic3ViIjoiMSIsImF1dGhfdGltZSI6MTUzMjkxNjg5NCwiaWRwIjoibG9jYWwiLCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwiZW1haWwiXSwiYW1yIjpbInB3ZCJdfQ.RJdc38IBvS6dNHX_wOuxB7GxqS7txWR2QlbSG5Ye2NYFJvsCFUfjxT0toFYY6V2WXorzPwg12P1A6FWyAxAus-su7u_Dr0K1UO4vwMzbSTrOIWOwt8-5i8tbvku75hWeh4RdFI3S7JUhW4B3KRsTEnFbdbH6vLBC4qGxgJ1VO2nqkWYasSjYjBJ_loYq693WW5anWCm5W8GEI2U5od3kP-LAVXaaPRuXWUrmZDA430XZUSXYWJGvzaWc0m_slFy6d1gONoy2FmLWiM-d-49Zo9I6zyQ6UDht0rPFsxtlUuqgDfAqyTDWRLSaRDrqPQr1CzYfeq-PyLtLY6FxBuySEA &token_type=Bearer &expires_in=3600 &scope=openi%20profile%20email &state=ud5qvZ1xe3JvzzxDLI7dGmJCPUvEx9mPs833EOXp;login &session_state=v7jhByx5lfy5mZYeoAHC9V4Pp2BmY3U3e7uJv0Z8XnM.9ff927e01a253cecc5163d79fd9e9d7f Что храниться в id_token (Токен с данными о пользователе для клиента) { "nbf": 1505143180, "exp": 1505146780, "iss": " http://localhost:5000", "aud": "js", "nonce": "2bd3ed0b260e407e8edd0d03a32f150c", "iat": 1505143180, "at_hash": "UAeZEg7xr23ToH2R2aUGOA", "sid": "053b5d83fd8d3ce3b13d3b175d5317f2", "sub": "2", "auth_time": 1505143180, "idp": "local", "name": "Bob", "website": " https://bob.com", "amr": [ "pwd" ] } Информация о пользователе, иногда чтобы не делать его слишком длинным полную информацию туда не пишут, если надо сами возьмете на урле " http://localhost:44318/connect/userinfo" а вот что храниться в access_token (Токен с нужными данными для доступа к API) { "nbf": 1505143180, "exp": 1505143480, "iss": " http://localhost:5000", "aud": [ " http://localhost:5000/resources", "api1" ], "client_id": "js", "sub": "2", "auth_time": 1505143180, "idp": "local", "name": "Bob", "role": "admin", "scope": [ "openid", "profile", "api1" ], "amr": [ "pwd" ] } Вот, когда вы подписывает ваше обращение к WebAPI этим access_token то на сервере ресурса WebAPI midelware автоматически на лету расшифровывает его и понимать какие у вас роли и допуски. После этого начинает работать магия анотация типа [Authorize(Roles="admin")] по поводу как оно рефрешит access_token, щас точно не скажу, попробую описать потом. Но то что я видел. Когда приходит к вам callback от сервера после первой авторизации пользователя, там в callback видят срок действия токена и там сразу заряжают таймер setTimeout(function, milliseconds) и выставляют время когда на тот момент когда токен протухнет или чуть раньше. Таймер потом сработает вызовет функцию которая получить новый токен, который завершиться опять callback-ом и процесс будет повторятся сколько надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 14:14 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Arpanx, Да. Запрос повторенный руками через 2, 3, 5 сек уже не примет sso, т.к. протух. Есдинственное, что всё что вы описали делает либа, и прикладному программисту это не надо делать или даже знать). Только для скилов)). ... |
|||
:
Нравится:
Не нравится:
|
|||
30.07.2018, 14:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Всегда интересовал вопрос, а почему, блд, аутентификация с помощью форм так называется? Причем тут формы? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 09:31 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомВсегда интересовал вопрос, а почему, блд, аутентификация с помощью форм так называется? Причем тут формы?наверно потому что есть без форм - Base autent..... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 09:52 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
патамушта через <form></form> ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 10:25 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Shocker.Proпатамушта через <form></form> Обыкновенный post запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 11:19 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомОбыкновенный post запрос.Да, но в те времена аякс еще не был столь популярен, так что обыкновенный пост-запрос делали обыкновенной формой ) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 11:23 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомShocker.Proпатамушта через <form></form> Обыкновенный post запрос.ну ты вопрос задал))))))) Я так понял ты с JS в шарп перешел? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 12:01 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123ну ты вопрос задал))))))) А чо? )) Petro123Я так понял ты с JS в шарп перешел? И нашим и вашим за рупь спляшем. Куда ж без шарпа?? У меня вопрос по теме. Я залогигнен на одном форуме. Я сделал logout. Я выбрал авторизацию через контакт (uLogin) И рррраз, меня авторизует под тем логином, из под которого я вышел? Технологически как это можно сделать - понятно, но какого черта? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 12:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ выбрал авторизацию через контакт (uLogin) И рррраз, меня авторизует под тем логином, из под которого я вышел? Технологически как это можно сделать - понятно, но какого черта? Аутентификация через внешние сервисы привязывается к аккаунту внутренней системы, обычно. Поэтому, это совершенно нормально. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 12:18 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttпривязывается к аккаунту внутренней системы, обычно. Это как бы "ок" и понятно. Но я ничего не "привязывал" специально. Он в куках подсмотрел? Или я забыл, как когда-то сам привязал? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 12:52 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомИли я забыл, как когда-то сам привязал? Очень навряд ли, так как несколько дней назад чистил VK-аккаунт от накопившегося треша (в приложениях) и uLogin там точно не было. Появился только после того, как я зашёл на форум vk-учёткой. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 12:54 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ сделал logout. С sso у меня было так: Выход есть из своего приложения и есть выход из sso сервера. Я делал по ТЗ что выход оттуда как событие приходило ко мне и мой код разрывал сессию у меня в приложении. Т.е. пока залогинился в госуслугах он формочку другую показывает. Я так понял по кукам отслеживает сессию. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 13:04 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Тестировал начисто удаляя куки всего хоста sso и контролируя их по F12. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 13:07 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123С sso у меня было так: Выход есть из своего приложения и есть выход из sso сервера. Я говорю о чисто пользовательском опыте. Косяк налицо. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 13:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомНо я ничего не "привязывал" специально. Он в куках подсмотрел? Или я забыл, как когда-то сам привязал? Ну а почему нет? Я в одном небольшом проекте так и делал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 19:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомНо я ничего не "привязывал" специально. Он в куках подсмотрел? Или я забыл, как когда-то сам привязал? Ну а почему нет? Я в одном небольшом проекте так и делал :) Если я на ресурсе жму "выйти", то я как бы всерьез ожидаю, что к моему аккаунту больше доступа нет. И если кто-то после меня тиснет "войти с VK" и попадает в мой аккаунт - то... Этому просто нет названия. Я бы назвал это багом, но это сделано специально... ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 19:26 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Если в случае со SPA - сначала запросить code,отослать на .net, а потом .net сам запросит access token у SSO - то зачем отдавать token на клиента? Почему бы не записать его в сессию, а id сессии в куку? При каждом запросе проверять токен, обновлять его, если протух.. А клиент про токены ничего и знать не будет. Если по каким-то причинам такой подход very bad, то как принято авторизовывать сайты без JS? Звучит странно, но как пример? Ведь токены в заголовок вставляются via JS. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 19:36 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Куки, сессия или токен это так скучно)) https://www.owasp.org/index.php/Top_10_2013-A2-Broken_Authentication_and_Session_Management Если параноя, то делайте токены. Если нет то делайте сессию. К сабжу это не относится. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЕсли я на ресурсе жму "выйти", то я как бы всерьез ожидаю, что к моему аккаунту больше доступа нет. И если кто-то после меня тиснет "войти с VK" и попадает в мой аккаунт - то... Этому просто нет названия. Я бы назвал это багом, но это сделано специально... Если ты уже залогинен, и вошёл ещё с VK, можно и объединить аккаунты :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЕсли в случае со SPA - сначала запросить code,отослать на .net, а потом .net сам запросит access token у SSO - то зачем отдавать token на клиента? Чтобы клиент делал следующие запросы с проверенным токеном, и не дёргать на каждый запрос SSO. Агнец за бортомПочему бы не записать его в сессию, а id сессии в куку? При каждом запросе проверять токен, обновлять его, если протух.. Какую ещё куку? А если это мобильный клиент? Или вообще другое приложение. Можешь и в куку записать, это ровным счётом ничего не меняет. А сессия, это моветон, собственно усилия на разработку протокола были потрачены, чтобы не требовать костыли в виде сессий. Токен самодостаточен. Агнец за бортомЕсли по каким-то причинам такой подход very bad, то как принято авторизовывать сайты без JS? Звучит странно, но как пример? Ведь токены в заголовок вставляются via JS. А на чем? Что там на клиенте кроме JS можно запустить? Сильвер? Флеш? ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:18 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123, Вот ты не отвечаешь на мой вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:25 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttЧтобы клиент делал следующие запросы с проверенным токеном, и не дёргать на каждый запрос SSO. Так токен на .net и будет храниться - смотри в него да даты сравнивай. hVosttКакую ещё куку? А если это мобильный клиент? Или вообще другое приложение. Это да, тут ты прав. hVosttА сессия, это моветон, собственно усилия на разработку протокола были потрачены, чтобы не требовать костыли в виде сессий. А если это дикий legacy, в котором сессии во весь рост? hVosttА на чем? Что там на клиенте кроме JS можно запустить? А ни на чём. Голый HTML, который дергает MVC-сные контроллеры. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:31 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомТак токен на .net и будет храниться - смотри в него да даты сравнивай. А если пользователь зашёл в приложение и ушёл на пару часов с собакой погулять. По приходу, его выбросит из открытого приложения, потому что .net похерил сессию? :) А если это кластер, и часть запросов обрабатывает один сервак, а часть другой, надо ещё куда-то за токеном ходить? Т.е. хранить их перманентно, загаживая ресурс? :) Агнец за бортомА если это дикий legacy, в котором сессии во весь рост? Ну переписать. Сейчас многие крупные компании переписывают свой легаси. Агнец за бортомА ни на чём. Голый HTML, который дергает MVC-сные контроллеры. Дык гибридную аутентификацию SSO=>Токен=>Зашифрованный тикет в куки никто не отменял, пожалуйста :) ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttПо приходу, его выбросит из открытого приложения, потому что .net похерил сессию? А с чего он её "похерит"? hVosttТ.е. хранить их перманентно, загаживая ресурс? Сессии так то не в памяти хранятся. В какой-нибудь шустрой NoSQL. hVosttЗашифрованный тикет в куки никто не отменял, пожалуйста :) Я почему-то думал, что токены _надо_ в заголовках передавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttДык гибридную аутентификацию SSO=>Токен=>Зашифрованный тикет в куки никто не отменял, пожалуйста :) Я правильно понял, что такой подход подразумевает процесс получения токенов через промежуточный код? Именно потому, чтобы клиент не парился токенами в принципе (допустим, он и не может)? А в случае со SPA/mobile - implicit-подход - когда SPA/mobile-приложение запрашивает токен напрямую? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:48 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123, Вот ты не отвечаешь на мой вопрос.разве? Выше давал схему и даже конфиг вообще без токенов. Если тебе нравятся токены - делай. Для соц сетей особенно нужна защита куков в виде токенов). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомА если это дикий legacy, в котором сессии во весь рост?ссылки на три срача по этой теме дать? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 20:58 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортомА если это дикий legacy, в котором сессии во весь рост?ссылки на три срача по этой теме дать? Я их все читал, не парься. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 21:04 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Дак ты hVostt'y руки выворачиваешь вопросом про сессии. Жалко). ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 21:07 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttДык гибридную аутентификацию SSO=>Токен=>Зашифрованный тикет в куки никто не отменял, пожалуйста :) Я правильно понял, что такой подход подразумевает процесс получения токенов через промежуточный код? Именно потому, чтобы клиент не парился токенами в принципе (допустим, он и не может)? А в случае со SPA/mobile - implicit-подход - когда SPA/mobile-приложение запрашивает токен напрямую? Хрен с ними, с сессиями. Вот последний вопрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 21:10 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ правильно понял, что такой подход подразумевает процесс получения токенов через промежуточный код? Именно потому, чтобы клиент не парился токенами в принципе (допустим, он и не может)? Вот список и сравнение разных способов авторизации через OpenID Connect https://www.scottbrady91.com/OpenID-Connect/OpenID-Connect-Flows Агнец за бортомА в случае со SPA/mobile - implicit-подход - когда SPA/mobile-приложение запрашивает токен напрямую? Да, implicit, получение токена напрямую, наиболее быстрым путём, но это требует поддержки со стороны клиента. ... |
|||
:
Нравится:
Не нравится:
|
|||
31.07.2018, 22:39 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Если так хочется токены, которые только для приложений с одним входом, то делай отдельное API на "предприятии" или на твоем App server'e. Которое без состояния и не помнит кто к нему входил секунду назад. Вспоминает только с токеном при запросе. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 08:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомА с чего он её "похерит"? Агнец за бортомСессии так то не в памяти хранятся. В какой-нибудь шустрой NoSQL. Ну обычно сессии хранятся в памяти, так как это по сути пользовательский кеш, зачем его персистить? Это же не жирный ViewSate Агнец за бортомЯ почему-то думал, что токены _надо_ в заголовках передавать В случае толстого клиента, да. Но так-то всё равно как передаётся токен, в заголовках, в параметрах запроса, в куках, или ещё как. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 08:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Если так хочется токены, Мне НЕ хочется токены. Но мне надо интегрироваться с SSO серверами, который предлагает OAUTH. hVosttНу обычно сессии хранятся в памяти, так как это по сути пользовательский кеш, зачем его персистить? Ты троллишь что ли? )))) Да, ты троллишь. Сессии в памяти - это же мета -нубство. Например, на той же node.js есть чудесный менеджер процессов PM2, который с минимумом усилий запускает процессы ноды на произвольном количестве ядер. Это на ровном месте прилично бустит производительность. Но это тут же обуславливает невозможность хранения сессии в памяти. hVosttВ случае толстого клиента, да. Но так-то всё равно как передаётся токен, в заголовках, в параметрах запроса, в куках, или ещё как. Да, всё встаёт на свои места. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 10:14 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомМне НЕ хочется токены. Но мне надо интегрироваться с SSO серверами, который предлагает OAUTH. Наконец то высказал категорично и ясно позицию). По серверам SSO и протоколу конкретного idP прова не понял. У тебя там нет выбора? Чем не вариант, если API с idP сервером не перемешивать с твоим API? Т.е. плевать токены или нет при общении с idP, а у тебя в сети сессии. Твой в кавычках idP server считаем внешним сервером авторизации. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 10:34 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомСессии в памяти - это же мета -нубство. Например, на той же node.js есть чудесный менеджер процессов PM2, который с минимумом усилий запускает процессы ноды на произвольном количестве ядер. Это на ровном месте прилично бустит производительность. Но это тут же обуславливает невозможность хранения сессии в памяти. Храни свою сессию где хочешь. Но говорить что в памяти нельзя что то хранить это тоже нубство. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 10:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомnode.jsэто оффтоп в шарп ветке ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 10:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Наконец то высказал категорично и ясно позицию). Вообще-то, я обозначил это намного раньше. Я ж ссылку на iDP давал. Petro123У тебя там нет выбора? Нет. Ты как-то странно выражаешь свои мысли, я не понимаю - что ты хочешь сказать. Перемешивать, плевать... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:09 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123это оффтоп в шарп ветке Сессия есть сессия - причем тут шарп? В ASP.NET сессии в трёх местах (из коробки) хранится могут. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:10 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомВообще-то, я обозначил это намного раньше. Я ж ссылку на iDP давал.ты не говорил что рад бы был отказаться). Агнец за бортомТы как-то странно выражаешь свои мысли, я не понимаю - что ты хочешь сказать. Перемешивать, плевать... Мне не плевать)). У каждого по разному). ОК, почитаю про конкретный твой idP который ты не можешь поменять. Понятно, что от него много зависит. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:28 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123это оффтоп в шарп ветке Сессия есть сессия - причем тут шарп? В ASP.NET сессии в трёх местах (из коробки) хранится могут. Верно. Тогда не говори, что хранение на самом АппСервере в оперативке это ламерство. Все три места могут идти в продакшен как решение. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:31 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Понятно, что от него много зависит. Да нет - он реализует стандарт и всё. В этом плане ничего сложного. Petro123Тогда не говори, что хранение на самом АппСервере в оперативке это ламерство. Дело не в этом. Если ты хранишь сессии в памяти, то это говорит о масштабе проекта - только и всего. Говорит - с чем ты имел дело. Поэтому - и странно было это услышать от хвоста. Может быть, он достиг просветления, которого с моего места даже не видно? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомДа нет - он реализует стандарт и всё. В этом плане ничего сложного. Ну я же привел пример другого idP но в ГОСУСЛУГАХ. Знаешь такую? Если у тебя ограничение что выбирать, то об этом говорится на каждом углу и всё. Агнец за бортомМожет быть, он достиг просветления, которого с моего места даже не видно? Да. С твоего не видно. Он перестал быть максималистом и это замечательно). Масшаб твоего проекта никто не знает). А умный советчик имеет много решений, а не одно максимальное. Imho ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:52 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Кроме того есть мейнстрим в архитектуре или хайп. Например, микросервисы. Которые вообще не говорят об крутизне и масштабе проекта. ... Так что сессия в оперативке - не удивляйся)). Это не goto C++ )))) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 11:58 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомСессии в памяти - это же мета -нубство. Например, на той же node.js есть чудесный менеджер процессов PM2, который с минимумом усилий запускает процессы ноды на произвольном количестве ядер. Это на ровном месте прилично бустит производительность. Но это тут же обуславливает невозможность хранения сессии в памяти. Ну и фиг с ними. Нужно будет что-то в кеш для пользователя засунуть, так, чтобы всем нодам это было видно, заюзаю распределённый кеш, но лучше всегда всё делать stateless. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.08.2018, 14:56 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
А вот мне интересно, что за уипанцы пишут обзоры/инструкции/описания? Это же трешак. Касаясь OAUTH2 - чего я только не видел. Сам механизм описан кусочно, а кейсы использования просто упомянуты и не раскрыты абсолютно. Видел, как реально чел предлагает использовать auth code flow в случае со SPA. То есть, сначала получаем auth code, потом тут же идём за токеном. Вообще не соображают, о чем пишут. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2018, 09:43 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Возможное имхо что это не для энтерпрайзе протокол, а для сайтиков...соц.сетей. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2018, 10:02 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Возможное имхо что это не для энтерпрайзе протокол, а для сайтиков...соц.сетей. Отчего ж? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2018, 10:16 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомВообще не соображают, о чем пишут. Согласен, дока в сети в основном не айс. Но к тому времени, когда где-то собирается айс, прогресс уже уехал :) ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2018, 11:09 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Агнец за бортом, Возможное имхо что это не для энтерпрайзе протокол, а для сайтиков...соц.сетей. Отчего ж? Не знаю... Как то сложилось впечатление... Ещё со времён OpenID когда питон щупал). Имхо было. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.08.2018, 11:32 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
А почему в токене есть инфа только expires_in: 3600, но нет - с какого времени считается этот срок? Самому писать/считать? Если за этим следит сам idP, то зачем мне эта инфа? И еще - idP, который возвращает мне (.NET) JSON-токен с маркерами - разве не должен прислать мне их с зашифрованными с секретом? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомСамому писать/считать? Если за этим следит сам idP, то зачем мне эта инфа?у него свои токены для общения idP с тобой - АPI. У тебя свои хоть токены, хоть куки, хоть голубиная почта. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомА почему в токене есть инфа только потому что время на сервере SSO может отличаться от времени клиента ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомИ еще - idP, который возвращает мне (.NET) JSON-токен с маркерами - разве не должен прислать мне их с зашифрованными с секретом? каким ещё секретом? nonce? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:46 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомА почему в токене есть инфа только потому что время на сервере SSO может отличаться от времени клиента Справедливо. То есть - самому писать в тот же токен? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:54 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомИ еще - idP, который возвращает мне (.NET) JSON-токен с маркерами - разве не должен прислать мне их с зашифрованными с секретом? каким ещё секретом? nonce? Ну, смысл JWT-токена, что он шифруется секретом, который знают только две стороны. (.net и idP). А он мне его прислал вообще в открытом виде. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:55 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомСправедливо. То есть - самому писать в тот же токен? да, если хочешь :) но смысла особого нет. Агнец за бортомНу, смысл JWT-токена, что он шифруется секретом, который знают только две стороны. (.net и idP). А он мне его прислал вообще в открытом виде. токен не шифруется, он подписывается, важна достоверность, чтобы не подделали. а шифровать ничего не нужно, так как передаётся всё по https, зачем эти ненужные телодвижения? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 15:59 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, вот можешь поиграться https://jwt.io/ видишь, 3 часть токена это подпись? это всё. больше никакого шифрования. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 16:01 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVostt, Ну ок, но почему idP мне все эти токены шлёт в открытую, JSON-ом? Это нормально? Код: c# 1. 2. 3. 4. 5. 6.
Такой набор полей. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 16:14 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttтокен не шифруется, ондоки надо смотреть. Там должно быть написано. Например, SAML шифруется. И разница во времени не допускается. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 16:16 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомНу ок, но почему idP мне все эти токены шлёт в открытую, JSON-ом? Это нормально? Да, нормально. Смотри. Допустим, у тебя есть твой сервер A, клиент K и сервер авторизации S. В случае толстого клиента, К может авторизоваться на S самостоятельно, получить токен и дальнейшие обращения делать на сервер А с полученным токеном. При этом за обновление и сопровождение токена клиент сам отвечает. Он только предъявляет его серверу А, смотри, мне разрешено. Что бы мог сделать сервер А. Он мог бы, получив токен, сделать запрос на S, чтобы удостовериться, может быть это какая-то лажа. Но ему это делать не нужно, он просто может проверить подпись. Для создания подписи участвует секретный ключ, известный серверу приложений А и серверу авторизации S. Клиент его не знает, значит не может подделать токен. Благодаря этому, проверка токена миллисекундное дело. И не надо ничего нигде кешировать и хранить в сессии. Всё очень удобно и гибко. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 19:02 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Например, SAML шифруется. Да нафиг он нужон, сложный и деревянный :) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 19:03 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttДа нафиг он нужон, сложный и деревянный :)чтобы был не один сорт колбасы краковская, а 10 разных. Альтернатива брат. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 19:12 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVostt, Это понятно, спасибо. И я всё-таки со своими ролями. Где их хранить правильно ? Допустим, к разным ресурсам - разные роли - как обычно. Роли (а также как фамилия и мобила и т.д.) не вшиты в сам токен - их нужно получать отдельно. С каждым запросом сервер А дергать не будешь, получая роли - понятно. Пляшем от stateless - значит никаких сесиий. Остаётся - хранить роли в самом токене, который гуляет вместе с кукой. Обновляя их, скажем при каждом обновлении access-маркера. Но тогда всю движуху по подписыванию токена - надо брать на себя? **** Почему я спрашиваю - у меня чувство, что я чего-то не понимаю. Сама технология JWT - понятна и близка. Я не понимаю - почему мне сервер А выдаёт данные в том виде - в котором выдаёт. Он мне выдаёт простой JSON-объект, в котором подписан только идентификационный маркер (и он - одно из полей), а два других - простые поля в JSON-объекте. Зачем он подписывает "идентификационный маркер", а два других - как есть? Если мы говорим о stateless, то надо запихивать в токен кучу дополнительной инфы и подписывать её самому. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 20:14 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Если действующих атрибутов у пользователя много, от stateful не уйти, так как атрибуты пользователя надо дозапрашивать после получения токена и кешировать в приложении. В основном SSO отвечает за аутентификацию, и за авторизацию в приложении. Набор полномочий, с которыми он авторизуется в приложении сохраняется в токен, если он вариативный. Т.е. им управляет сам пользователь при входе. Допустим, SSO спрашивает, вы хотите предоставить приложению доступ к вашему телефону? Месту расположения? Как кто вы хотите войти (функциональная роль)? И т.п. Если это не нужно, достаточно того, что токен содержит в payload username/userid/givenname. Агнец за бортомНо тогда всю движуху по подписыванию токена - надо брать на себя? Нет, зачем? Существующие библиотеки это делают с любым объёмом атрибутов токена. Но большой токен это не гуд. Агнец за бортомЗачем он подписывает "идентификационный маркер", а два других - как есть? JWT состоит из 3-х частей: 1. хедер 2. нагрузка (полезные данные) 3. подпись подпись это хеш от 1+2+secret key Агнец за бортомЕсли мы говорим о stateless, то надо запихивать в токен кучу дополнительной инфы и подписывать её самому. подписывается хедер и нагрузка, чего бы ты в нагрузку не напихал. одинаково при любом объёме. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 20:40 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttНабор полномочий, с которыми он авторизуется в приложении сохраняется в токен, если он вариативный. У юзера на SSO есть произвольный набор атрибутов. Имя, мыло, телефон, фамилия... Эти атрибуты группируются под разрешениями. Например "личные данные","Данные VK","Служебные данные". Приложениям, что заводятся (регистрируются) в SSO - выдаются вот эти разрешения, которые в принципе будут им доступны. Вопрос - можно ли сделать так, чтобы содержание (то есть - сами значения атрибутов) сразу записывались в payload после аутентификации?? Чтобы не было нужды в дополнительном запросе. P.S. OAUTH2 считается намного проще, чем OAUTH без номера. Страшно представить - что там было. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 21:03 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомВопрос - можно ли сделать так, чтобы содержание (то есть - сами значения атрибутов) сразу записывались в payload после аутентификации?? Чтобы не было нужды в дополнительном запросе. Конечно, записывай их в payload на стороне SSO, только смотри, чтобы токен сильно не распух. Агнец за бортомP.S. OAUTH2 считается намного проще, чем OAUTH без номера. Страшно представить - что там было. oauth это только access token по сути, проще это типа сами думайте что с этим дальше делать. и придумали, появился openid connect )) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 22:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttКонечно, записывай их в payload на стороне SSO, Я как-то этим там не рулю.. Это зависит от реализации сервера? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 23:08 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttКонечно, записывай их в payload на стороне SSO, Я как-то этим там не рулю.. Это зависит от реализации сервера? Ты чего используешь для SSO всё-таки? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.08.2018, 23:49 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомпропущено... Я как-то этим там не рулю.. Это зависит от реализации сервера? Ты чего используешь для SSO всё-таки? Раньше - логин на сайте. Юзер в сессию. ID сессии в куку. Это - старый механизм. Сейчас (должно быть) - логин через SSO-сервер (по паролю, по социалкам, по SMS, по черту в ступе). Регистрация - там же, в SSO. Старый механизм должен умереть. Соотвественно - механизм манипуляций ролями тоже лучше переместить в SSO, тем более, что один из атрибутов юзера может иметь тип "массив строк". ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 09:41 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Ты случайно не спутал SSO твоего сайта и SSO межсайтовой авторизации? Т.к. есть опасность велосипеда и подмены понятий. Если все твоё, то ты просто делаешь "умный" АппСервер у твоих ИС. Считай API предприятия. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 10:14 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Ты случайно не спутал SSO твоего сайта и SSO межсайтовой авторизации? Т.к. есть опасность велосипеда и подмены понятий. Если все твоё, то ты просто делаешь "умный" АппСервер у твоих ИС. Считай API предприятия. Сорри, бро, но я опять не понял, что ты мне сказал. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 10:18 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомРаньше - логин на сайте. Юзер в сессию. ID сессии в куку. Это - старый механизм. С чего решил что тебе нужен SSO? По обоснованию и твоим словам тебе нужно сменить метод авторизации с сессий на токены. Всё. Либо что то недоговорил. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 10:26 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Или ещё другими словами: Выше у тебя решение и строчка как было. А нужно: - as is to be и Проблема. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 10:30 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123С чего решил что тебе нужен SSO? Локальная задача - авторизация через соц. сети. Установка сверху - для этих целей юзаем SSO. Вот этот, конкретный. Всё. Я ж говорил обо всём этом. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 10:36 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123С чего решил что тебе нужен SSO? Локальная задача - авторизация через соц. сети. Установка сверху - для этих целей юзаем SSO. Вот этот, конкретный. Всё. Я ж говорил обо всём этом. Я помню что говорил, но сейчас ты знаешь всю механику внутри))). Про соц.сети: - АппСервер не умеет авторизовать через соц сети? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 11:06 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Просто когда всё твое - sso, профили, токены, домен, АппСервер, сайт. То нет смысла sso. Тем более что все работает на основе сессий. Imho ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 11:16 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомРаньше - логин на сайте. Юзер в сессию. ID сессии в куку. Это - старый механизм. Сейчас (должно быть) - логин через SSO-сервер (по паролю, по социалкам, по SMS, по черту в ступе). Регистрация - там же, в SSO. Старый механизм должен умереть. Соотвественно - механизм манипуляций ролями тоже лучше переместить в SSO, тем более, что один из атрибутов юзера может иметь тип "массив строк". Я говорю про тулзы, библиотеки :) Что у тебя в качестве SSO сервера? Какое ПО? Сам пишешь? На основе чего? Используешь что-то? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 11:30 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомArpanxпропущено... А какую конкретно реализацию вы предполагаете использовать? IdentityServer4? https://identityblitz.ru/products/blitz-identity-provider/]https://identityblitz.ru/] https://identityblitz.ru ту ру рум ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 11:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомпропущено... Я как-то этим там не рулю.. Это зависит от реализации сервера? Ты чего используешь для SSO всё-таки? Ха, прочитал как Ты для чего используешь для SSO всё-таки? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 11:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомХа, прочитал как Ты для чего используешь для SSO всё-таки? )) Он про сервер idP, я добавил пошире вопрос про нужность sso. Т.к. sso у тебя может выполнять роль АппСервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 12:09 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123пошире вопрос про нужность sso. Я не выбираю. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 12:58 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123пошире вопрос про нужность sso. Я не выбираю. принято ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 13:02 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортоммеханизм манипуляций ролями тоже лучше переместить в SSO, тем более, что один из атрибутов юзера может иметь тип "массив строк". Тоже сверху решают? Если ты сессии переместил с АппСервера на idP server, то это шило на мыло. Никто не мешает на idP роли держать только List<string> Иначе это обман руководства и перенос всего на idP сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 13:07 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Если ты сессии переместил с АппСервера на idP server А с чего ты взял? Я говорю лишь о том, что хранить инфу "у юзера с мылом mmm@mail.ru есть роли - админ, редактор, особые права" - на самом сервере SSO, а не "у себя". SSO - выдаст эту инфу по запросу и всё - никаких сессий. Petro123Никто не мешает на idP роли держать только List<string> Так об этом и речь. Petro123Иначе это обман руководства и перенос всего на idP сервер. Всего? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:34 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомSSO - выдаст эту инфу по запросу и всё - никаких сессий.да. Типо того. А на твоем АппСервер остались как были сессии? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:42 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Твой idP стоит на тестовой площадке? Проверь что сессионные куки у тебя его есть. Т.е. после логина он держит твою сессию чтобы разлогиниться по кнопке Выход. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:45 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123А на твоем АппСервер остались как были сессии? Типа нет. Токены только ходят туда-сюда и всё. Petro123Твой idP стоит на тестовой площадке? Локально на машине пока. Petro123Проверь что сессионные куки у тебя его есть. Есть. Но это "как бы" его дело. Чисто момент логина юзера, с паролем. Может быть, где то можно настроить, чтобы он не хранил сессии. Petro123Т.е. после логина он держит твою сессию чтобы разлогиниться по кнопке Выход. Ради Бога. Это "его" дело. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 14:55 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Все верно. Теперь вопрос, как ты выгонишь юзверя или заставишь перелогиниться при убирании сессии у себя на сервере? Ему sso доло токен на 24 часа, а в обед он уволился. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 15:11 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Все верно. Теперь вопрос, как ты выгонишь юзверя или заставишь перелогиниться при убирании сессии у себя на сервере? Ему sso доло токен на 24 часа, а в обед он уволился. У моего сервера в данных юзера bool поле isActive есть. Думаю, что в момент рефреша access токена - это поле учитывается. Так что юзер с обеда не вернётся. Да API метод разлогинивания - тоже есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 15:31 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортоммомент рефреша access токена -а когда оно будет? Токен дан на 24 часа. Агнец за бортомДа API метод разлогинивания - тоже есть. Дык расскажи: Как он работает без сессии? Т.е. никто никого не помнит? Что делать с тонкими веб клиентами? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 16:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123а когда оно будет? Токен дан на 24 часа. А нафига настолько? access токен типа выдают на три минуты. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 17:28 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123а когда оно будет? Токен дан на 24 часа. А нафига настолько? access токен типа выдают на три минуты. ОК. Тогда каждые 3 мин новый запрос к idP по авторизации. Что тонкими клиентами? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 18:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом https://identityblitz.ru Ну, трудно сказать, похоже он достаточно гибкий и настраиваемый. У нас своё решение на IdentityServer4, делает примерно тоже самое, но ничего лишнего. Хотя наверное и это решение при желании смогли бы заюзать, у нас учётные записи ведутся в отдельном микро-сервисе и у него есть развитое АПИ. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 18:36 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомА нафига настолько? access токен типа выдают на три минуты. Принцип такой: access токен коротко живущий refresh токен долго живущий 3 минуты норм ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 18:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Либо я дурак, либо... Но я не дурак. Ссылка на доку Поиск по подстроке - /blitz/oauth/me По этому адресу предлагается обращаться, чтобы получить данные о пользователе. Но, с**а, у меня вываливается с ошибкой 404 попытка что-то получить по нему, как из кода - так и из броузера. Причем мне кажется, что такой адрес blitz не expose-ит, его вообще нет, так как другие адреса мычат в ответ что-то вменяемое, а не 404 HTTP. По всем остальным endpoint-ам - всё нормально. Что опять не так в консерватории?? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 22:03 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, кидай багрепорт ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 22:42 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортом, кидай багрепорт Написал я разрабам, но они не очень подвижные. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.08.2018, 22:54 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Не соображу - как сделать правильно. Есть аутентификация на формах. У меня в куках есть инфа - что это за юзер, и какие у него роли. В виде самодельного/зашифрованного JWT-токена. Как мне нужно переопределить юзер-провайдера, чтобы при каждом запросе защищенного ресурса - код проверял куки и вычислял валидность токена? С авторизацией вроде понятно (провайдер Ролей), а как быть с аутентификацией? Я не вижу там методов, которые вызывались бы при каждом запросе, что-то типа isUserAuthenticated() - где я могу разместить любую логику. Например, до часу дня - все считаются аутентифицированными, после часа дня - никто. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 12:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Конвейер запросов или как там он назвается. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 12:55 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, В доках твоего провайдера нет примеров? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 12:59 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортом, В доках твоего провайдера нет примеров? Ты какого провайдера имеешь ввиду? Если SSO - то он тут вообще уже не причем. У меня есть хттп-модуль, где я проверяю валидность токена, если всё ок, то как бы юзер считается аутенти... мля, залогиненным. Остается "сообщить" об этом остальной части приложения, которая "нафарширована" атрибутами аутентификации/авторизации и прочим. Правильно ли я понимаю? Мне надо в каком-то хттп-модуле выполнить такой код: Код: c# 1. 2. 3. 4. 5. 6. 7. 8.
- передав сущность IPrincipal , которую я сгенерирую из токена (там есть вся инфа). Дальше вся эта система - отработает как обычно. А метод ValidateUser вызывается вручную при логине и при SSO - не нужен. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 13:11 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, https://developer.okta.com/blog/2018/03/23/token-authentication-aspnetcore-complete-guide вот, с примерами, я честно говоря не знаю зачем тебе модуль. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 13:25 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttя честно говоря не знаю зачем тебе модуль. -- The JwtBearer middleware looks for tokens хттп-модуль выполняет роль middleware. Я хочу замутить всё своими руками, чтобы проникнуться всем этим до конца. Когда-то давно - я делал аутентификацию на токенах (сайт+ведро). Сделал все как в примере. Чо, всё заработало. Какой-то код, какие-то заголовки. Что сделал - вообще не понял. *** Я прав про iPrincipal? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 13:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЧто сделал - вообще не понял. Агнец за бортомЯ прав про iPrincipal? Созданием принципала можно управлять, конечно. Вот позырь полноценный рабочий пример https://github.com/mderriey/TokenRenewal/blob/master/src/MvcClient/Startup.cs ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 13:40 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttВот позырь полноценный рабочий пример Я так понимаю, что мучу свою велосипедную реализацию аутентификации на токенах/модулях. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 13:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЯ так понимаю, что мучу свою велосипедную реализацию аутентификации на токенах/модулях. Да нафиг оно надо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 13:58 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомЯ так понимаю, что мучу свою велосипедную реализацию аутентификации на токенах/модулях. Да нафиг оно надо :) 1. Микс из : auth code flow + по явному паролю (popup на странице). 2. Интеграция SSO со кастомным хранением данных. 3. Если использовать stateless - необходимо шифровать информацию в токене, чтобы она была "недоступна" клиенту. 4. Разный код проверки аутентификации по всему приложению. Как бы не понимая, что там под капотом крутится - сложно будет добиться согласованной работы. Как мне кажется. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 14:15 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Погоди, так тебе не hybryd flow нужен? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 14:39 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортом, Погоди, так тебе не hybryd flow нужен? Это значит - переписать все запросы из SPA/JS/Черта в ступе. Подписывать запросы маркерами доступа - unreal. Идея такая - получаем токен от SSO, напихиваем туда доп. инфо, шифруем и ставим в куки. В модулях валидируем/обновляем/ставим принципалов - обрабатываем запрос в приложении. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 14:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомтокен от SSO, напихиваем туда доп. инфо, шифруем и ставим в куки.токены sso отдельно и свои отдельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 15:15 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЭто значит - переписать все запросы из SPA/JS/Черта в ступе. Подписывать запросы маркерами доступа - unreal. Идея такая - получаем токен от SSO, напихиваем туда доп. инфо, шифруем и ставим в куки. Что тебе мешает сделать редирект для SPA приложение со стороны сервера? Во-первых, текущий стейт SPA приложения всё равно придётся похерить, так как ты вообще можешь зайти под другим пользователем при перелогине, и у тебя весь UI из-за этого перестраивать надо (пусть даже нет, но потенциально да). Вот как это должно работать. 1. Запрос с браузера, без действующей авторизованной куки. 2. Редирект на SSO на логин. 3. Редирект с SSO на сервер с auth code 4. Получение токена, user info сервером, формирование куки, ответ браузеру 5. Всё, твой SPA сидит с кукой и знать не знает что там за фигня про авторизацию. 6. Нужно повесить хук, чтобы на 403 у тебя происходил редирект. Если же ты хочешь полность SPA авторизацию в попапе, то будь добр, используй токен, и забудь про куку. Это плохо сочетаемые понятия. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 15:36 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомЕсли использовать stateless - необходимо шифровать информацию в токене, чтобы она была "недоступна" клиенту. Стейтлесс, кстати, не обязывает тебя шифровать всю поднаготную в куки. Используй кеширование по токену и всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 15:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttВот как это должно работать. Согласен, тем более, сам SSO к этому подталкивает. hVosttЕсли же ты хочешь полность SPA авторизацию в попапе, то будь добр, используй токен, и забудь про куку. Это плохо сочетаемые понятия. Хех, как это выглядит кратко. - Нет времени объяснять, интегрируемся с SSO. - Вместо popup-а - будет редирект на SSO. - Э, попап не трогай! На самом деле - не такая проблема - прокинуть пароль на .NET-сервер, получить всю инфу, записать в куку, и сделать движение на SPA. Если так хочется попап. hVosttСтейтлесс, кстати, не обязывает тебя шифровать всю поднаготную в куки. Используй кеширование по токену и всё. Вот этого вообще не понял. Что такое "кеширование по токену"? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 15:51 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123токены sso отдельно и свои отдельно. Токены SSO зашифрованы внутри "своих". Или что значит отдельно? Раз нет сессий - всё в одних куках. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 15:52 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123токены sso отдельно и свои отдельно. Токены SSO зашифрованы внутри "своих". Или что значит отдельно? Раз нет сессий - всё в одних куках.возможно лучше переложить инфу в свои токены в своих куках)))). А не чужие токены пихать по любому клиенту на любой комп. Блин, как всё намешано). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 16:05 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Вообще, что значит токен внутри куки? Это просто строка My=GFDYTKJUTYFVBMIHRVBMJHFVNJGCBJK Внутри куки. Так? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 16:07 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Блин, как всё намешано). Не, парни, вы помогли расставить всё по местам. Всё правильно - вся инфа в своих токенах + своих куках. На токены SSO - пофиг (условно). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 17:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Вообще, что значит токен внутри куки? Не обращай внимания. Токен - поле объекта. Объект - в JSON. JSON - в BASE64 BASE64 - шифруем. Зашифрованное - в куки. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 17:39 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, В Core есть готовый код для OpenID: OpenID Connect middleware. Там OpenIdConnectNotifications события. Делаешь вроде там все что надо и кода писать минимум. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 17:44 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомНа самом деле - не такая проблема - прокинуть пароль на .NET-сервер, получить всю инфу, записать в куку, и сделать движение на SPA. Если так хочется попап. Ну хз. Костыли какие-то :) И в чём тогда смысл SSO в твоё проекте? Можно просто через API дать логин/пароль и спросить можно или нет, без всяких заморочек с токеном. Агнец за бортомВот этого вообще не понял. Что такое "кеширование по токену"? Ну кладёшь в кеш юзер инфо и берёшь оттуда. Нет, здесь нет ничего похожего на сессию, если что :) ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 18:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttИ в чём тогда смысл SSO в твоё проекте?мы договорились что ему приказали и навязали sso). ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 18:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttИ в чём тогда смысл SSO в твоё проекте? Ну, SSO очень много плюшек имеет из коробки. Там очень много разных способ аутентификации. Телефоны, пин-коды, разовые ссылки и далее. hVosttМожно просто через API дать логин/пароль и спросить можно или нет, Там и SPA с ручной защитой, и простые защищенные ресурсы через IsInRole. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 19:18 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомНу, SSO очень много плюшек имеет из коробки. Там очень много разных способ аутентификации. Телефоны, пин-коды, разовые ссылки и далее. Эмм.. это всё и без SSO можно :) Ну лан. Хозяин барин. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 19:48 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttЭмм.. это всё и без SSO можно :) Но там это всё УЖЕ есть. Ты хочешь сказать, что полно разных пакетов/решений, которые устанавливаются в проект - и дают вот это вот всё? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 20:38 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Разовая ссылка это урл с параметром. Про телефон и пин код не понял. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 21:23 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Про телефон и пин код не понял. На телефон приходит код, который надо ввести на сайте, чтобы залогиниться ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 21:34 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомPetro123Про телефон и пин код не понял. На телефон приходит код, который надо ввести на сайте, чтобы залогинитьсяненавижу метод)). Смски там кто оплачивает? Как сделано? ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 21:52 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Смски там кто оплачивает? Как сделано? Да хз. Я для примера. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.08.2018, 22:04 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Для примера hVostt тебе сказал. НИчего особенного там нету. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 07:50 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомНо там это всё УЖЕ есть. Ты хочешь сказать, что полно разных пакетов/решений, которые устанавливаются в проект - и дают вот это вот всё? Дык со времён ASP.NET MVC 3 ещё :) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.08.2018, 07:59 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
А что OAUTH вообще определяет? Посмотрел на документацию контакта - удивился. refresh токена нет. маркер доступа получаем get запросом, все параметры - в теле запроса. с тем же блицом - все несколько по другому. Как это обрабатывают все эти дженерик либы? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 20:34 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Есть там рефреш токен. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 22:29 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортом, Есть там рефреш токен. Я доку читаю - нет там refresh токена. Предлагают "повторять процедуру авторизации". ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 22:56 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, --Процедуру авторизации приложения необходимо повторять в случае истечения срока действия access_token, смены пользователем своего логина или пароля или удаления приложения из настроек. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 22:59 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомПосмотрел на документацию контакта - удивился. Я говорю про oauth контакта (vk). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2018, 23:53 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, https://vk.com/dev/access_token не увидел поддержки соответствующего grant, ну да и хрен с ним ) для задач доступа к апи вконтакта оно и не нужно ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 00:25 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортом, https://vk.com/dev/access_token не увидел поддержки соответствующего grant, ну да и хрен с ним ) для задач доступа к апи вконтакта оно и не нужно Так в этом и вопрос - это нормально лепить процессы OAUTH кто во что горазд? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 09:48 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttАгнец за бортом, https://vk.com/dev/access_token не увидел поддержки соответствующего grant, ну да и хрен с ним ) для задач доступа к апи вконтакта оно и не нужно Так в этом и вопрос - это нормально лепить процессы OAUTH кто во что горазд? Если пытаться делать какую-то дженерик либу для всех этих сервисов, то на что она будет похожа?? У одного сервиса POST, у другого GET, у одного в заголовках, у другого в параметрах... Один возвращает данные в виде JWT-токена, другой - в виде простого JSON-а. Пытаться обобщить всё это - намного бОльшая куча работы, чем захардкодить втупую каждый сервис. Или я неправ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:00 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомТак в этом и вопрос - это нормально лепить процессы OAUTH кто во что горазд? Это же сборник спецификаций. Нет обязаловки поддерживать их все. Агнец за бортомЕсли пытаться делать какую-то дженерик либу для всех этих сервисов, то на что она будет похожа?? На то, что уже есть в стеке asp.net core :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:06 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Почему я и ванговал, что это протокол для сайтиков, соцсетей. А не серьезных дядек в корпоративе c ad federation services. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:12 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttуже есть в стеке asp.net core К слову, а сейчас вообще имеет смысл юзать НЕ CORE? Или про .NET MVC уже забыть можно? hVosttНет обязаловки поддерживать их все. Странно это всё... ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:16 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Вообще интересно. Вне SSO, забудем пока про него. На примере авторизации с контактом. При запросе ресурса, в каком-то месте приложения я понимаю, что время токена контакта истекло. И мне не нужно "рефрешить" токен, получается, мне надо "перенаправить" юзера на страницу авторизации, причем , на страницу авторизации контакта через OAUTH. И потом вернуть пользователю тот ресурс, который он запрашивал. С каждой соц. сетью - отдельные танцы?? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:25 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомК слову, а сейчас вообще имеет смысл юзать НЕ CORE? Или про .NET MVC уже забыть можно? Думаю да :) Для новых проектов однозначно надо выбирать asp.net core. Да и старые неплохо мигрируются, если там не совсем треш, завязанный на System.Web ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:33 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомС каждой соц. сетью - отдельные танцы?? Да. Тут вряд ли когда будет идеал. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:34 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttДля новых проектов однозначно надо выбирать asp.net core. А как насчет EF Core и её скудной реализации на текущем этапе? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:42 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомhVosttДля новых проектов однозначно надо выбирать asp.net core. А как насчет EF Core и её скудной реализации на текущем этапе? На текущем этапе уже можно в продакшен :) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 10:56 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомпропущено... А как насчет EF Core и её скудной реализации на текущем этапе? На текущем этапе уже можно в продакшен :) Ого. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 11:07 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомИ мне не нужно "рефрешить" токен, получается, мне надо "перенаправить" юзера на страницу авторизации, причем , на страницу авторизации контакта через OAUTH. И потом вернуть пользователю тот ресурс, который он запрашивал. Думаю, в соцсетях все просто. Они тебя не помнят, сессию не хранят и их задача дать тебе профиль. Всё. Т.е. если токен на 3мин. То через 3 мин новый ввод пароля. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 11:08 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttАгнец за бортомпропущено... А как насчет EF Core и её скудной реализации на текущем этапе? На текущем этапе уже можно в продакшен :)я бы не. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 11:09 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Т.е. если токен на 3мин. То через 3 мин новый ввод пароля. Ты чо, нет конечно. Если токен на три минуты, то через три минуты - просто новый токен. А вот каким образом "новый токен" - каждый видит по разному. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 11:13 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомА вот каким образом "новый токен" - каждый видит по разному. Дак ты распиши пару абзацев как по разному? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 11:25 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортомА вот каким образом "новый токен" - каждый видит по разному. Дак ты распиши пару абзацев как по разному? Я ж писал. Агнец за бортомУ одного сервиса POST, у другого GET, у одного в заголовках, у другого в параметрах... Один возвращает данные в виде JWT-токена, другой - в виде простого JSON-а. Агнец за бортомНа примере авторизации с контактом. При запросе ресурса, в каком-то месте приложения я понимаю, что время токена контакта истекло. И мне не нужно "рефрешить" токен, получается, мне надо "перенаправить" юзера на страницу авторизации, причем , на страницу авторизации контакта через OAUTH. И потом вернуть пользователю тот ресурс, который он запрашивал. С каждой соц. сетью - отдельные танцы?? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:27 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Да. Ведь при sso у тебя один idP сервер и одни правила. А тут нет sso и не один idP server ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:34 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Дак ты распиши пару абзацев как по разному? У одного секрет клиента передаётся в хедере, закодированый в base64 пост-запросом. У другого просто параметром get -запроса. В спецификации просто - "есть секрет клиента, его надо как-то заслать на сервак iDP проайдера?" ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123Агнец за бортом, Да. Ведь при sso у тебя один idP сервер и одни правила. А тут нет sso и не один idP server Это понятно. Ты просил "расписать". ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:35 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Petro123и одни правила. Думал, что это правила определяет спецификация OAUTH. На что же внутри похожи все эти плагины/виджеты авторизаций через 10 разных провайдеров? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 12:37 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортом, Дай прямо выдержку спеки. Может там и нету)))) ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 13:22 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомвиджеты Дык посмотри. Там для php просто вроде. Несколько строк. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.08.2018, 13:23 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
А что если Кука больше чем 4кб - это вообще законно? Можно разбить по частям, но не означает ли это "всё пошло не так"? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2018, 20:26 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Хотя, с другой стороны - гоняли же WebForms-щики жирные ViewState-ы чуть ли не в мегабайт - и не заморачивался никто. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.08.2018, 23:39 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
Агнец за бортомА что если Кука больше чем 4кб - это вообще законно? Можно разбить по частям, но не означает ли это "всё пошло не так"? Большие куки плохо скажутся на юзабилити, тормозить будет. Есть ограничение на размер куков, но соверменный Asp.net умеет здоровски это обходить, размещая куку в чанках. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 10:46 |
|
SSO - несколько вопросов.
|
|||
---|---|---|---|
#18+
hVosttБольшие куки плохо скажутся на юзабилити, тормозить будет. Чо-та очково. С каким размером приходилось иметь дело? hVosttно соверменный Asp.net умеет здоровски это обходить, После установки куки в >4кило - кука в реквесте просто отсутствует. Справедливо для не корки. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.08.2018, 11:09 |
|
|
start [/forum/topic.php?all=1&fid=18&tid=1355155]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
33ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
178ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 273ms |
0 / 0 |