#authentication #meteor #authorization #saml-2.0
#аутентификация #meteor #авторизация #saml-2.0
Вопрос:
у меня рабочий вход в систему SAML с Meteor.accounts и MS Azure. Я использую это https://github.com/steffow/meteor-accounts-saml библиотека для SAML, которая является производной от https://github.com/bergie/passport-saml
Процедура выглядит следующим образом:
- Нажмите saml login -> появится всплывающее окно
- Введите данные пользователя / pw во всплывающем окне -> всплывающее окно закрывается без ошибок
- Успешный вход в систему
Итак, теперь я хочу получить токен SAML для дальнейшей обработки (или, по крайней мере, информацию о вошедшем в систему пользователе, которую meteor извлек из IDP).
Поскольку я понятия не имею, где токен SAML хранится в Meteor или может быть извлечен в коде, может кто-нибудь помочь мне получить ответ SAML?
Ответ №1:
Вероятно, уже решено, но вот оно.. Согласно коду, ответ saml извлекается в «saml_server.js «в строке 70 и токен также должен быть там (LoginRequest.credentialToken) LoginResult должно быть довольно легко сохранить в коллекции Meteor.users
var loginResult = Accounts.saml.retrieveCredential(loginRequest.credentialToken);
var email = loginResult.profile.email;
var user = Meteor.users.findOne({username: email});
if (!user) {
Accounts.createUser({
"username": email,
"profile": StufffromloginResult
});
} else {
Meteor.users.update(
{
"username": email
},
{ "$set": {
"profile": StufffromloginResult,
}
});
}
И извлекается с помощью:
Meteor.user().profile
Комментарии:
1. Ах да, я уже решил это некоторое время назад, но забыл обновить.