2013-09-24 2 views
1

Одна из наших интеграций использует D2LWS UserManagementService для преобразования имени пользователя в userId. Мы получаем имя пользователя, имя и фамилию учащегося, когда они нажимают на запрос LTI, но нам нужен числовой userId для некоторых других вызовов API Valence.Valence API, который заменяет старый WS UserManagementService

Мы хотели бы уменьшить нашу зависимость от D2LWS до того, как они будут удалены, поэтому нам интересно, есть ли эквивалентный вызов API Valence, который можно использовать для этого преобразования?

ответ

1

Существует множество способов, которыми клиентское приложение может заполнить свое понимание свойств идентификатора пользователя LMS. Следует также помнить, что платформа D2LWS по существу оптимизирована для оперативного доверия уровня обслуживания к сервису, в то время как новая платформа Valence оптимизирована для оперативного доверия пользователей к сервису - это означает, что все вызовы Valence должны выполняться в контекст некоторая действительная аутентифицированная учетная запись пользователя LMS (в том смысле, что для совершения вызовов клиентское приложение должно сначала запросить получение пары ID пользователя/ключа для аутентифицированного пользователя).

Если ваша служба обслуживания клиентов всегда будет сослана или запрошена LMS с запуском LTI, то у вас будет достаточно мощности с этого запуска, чтобы начать (см. Это detailed topic on combining Valence calls with LTI around our Remote Plugin service). Должен существовать настоящий пользователь LMS, который каким-то образом инициировал запуск, начиная с сеанса LMS в режиме входа в систему. Поэтому после запуска LTI ваша служба может повернуть направо и позвонить LMS, чтобы запросить токены пользователя для текущего пользователя auth'd, и этот пользователь должен почти наверняка стать пользователем запуска LTI.

Как правило, для служб, с которыми можно связаться с помощью запуска LTI, а затем для использования Valence, мы рекомендуем вам установить контекст пользователя сразу после запуска и сделать whoami call: это может служить нескольким целям - оно может установить, что у вас есть надежный набор пользовательских токенов, которые вы можете использовать, чтобы делать вызовы Valence от имени запускающего пользователя, и вы можете использовать информацию, полученную в WhoAmIUser data structure, чтобы помочь заполнить контекст вашей идентификации пользователя.

Для конкретных целей структура данных WhoAmIUser содержит имя, фамилию, уникальное имя (имя пользователя) и идентификатор профиля LMS для запускающего пользователя, а также идентификатор пользователя LMS (Identifier), который вы может использоваться в контексте других вызовов Valence, если вам нужно. Тем не менее, вы также должны серьезно подумать о переходе на подход «от пользователя к сервису»: когда все вызовы происходят в контексте конкретного пользователя, вы можете обнаружить, что ваш лучший маршрут использует все «мои» маршруты для заполнения пользовательский опыт, который вы представляете пользователю - имейте в виду, что учетные данные пользователя, которые вы используете с вашими вызовами Valence API, ограничивают доступ к функциям и данным точно так же, как этот пользователь будет ограничен в ходе его или ее нормальных взаимодействий с LMS через его веб-интерфейс.

Смежные вопросы