Требование аутентификации: N UserNames - 1 ExternalID
Я реализовал GAM (внешнюю аутентификацию) для своего проекта SmartDevices, который использует "Динамический URL" (в GeneXus).
Я только что получил новое требование: - В стандартной (демонстрационной) среде приложение должно принять ЛЮБУЮ комбинацию имени пользователя и пароля и присвоить ему внешний идентификатор "200" (этот номер затем будет использоваться в приложении для извлечения данных для ДЕМО-аккаунт).
В моей демонстрационной среде, используя GamHome, я изменил "внешний веб-сервис", чтобы он всегда возвращал "1" (пользователь и пароль в порядке) и "200" (внешний идентификатор). Когда я запускаю приложение и пытаюсь пройти аутентификацию с любым случайным именем пользователя, я получаю сообщение: "Внешняя идентификация пользователя уже существует" (что-то в этом роде).
Могу ли я изменить аутентификацию WebService для того, чтобы:
- Разрешить нескольким именам пользователей использовать один и тот же внешний идентификатор?
- Замените имя пользователя, предоставленное методом LoginExternal (устройство), чтобы обеспечить уникальный "ID - Имя пользователя"?
- Отменить процедуру входа в систему и создать новую, автоматическую, с фиксированным пользователем?
Любые другие предложения?
(Я бы хотел поменять сервис только во избежание смены приложений, если это возможно).
(Это требование только для нашей демонстрационной среды - в среде Live каждый пользователь будет иметь свой собственный идентификатор и будет надлежащим образом аутентифицирован).
1 ответ
Внешние идентификаторы должны быть уникальными. Для демонстрационной среды вы можете просто войти в систему всегда с фиксированным пользователем и паролем (независимо от учетных данных, введенных пользователем). В этом случае вы можете предоставить некоторые механизмы для фильтрации данных по устройству в демонстрационном режиме, чтобы гарантировать, что несколько пользователей демо-версии получат правильную работу.