Дополнительная аутентификация с помощью Meteor Restivus REST API

Я использую Meteor 1.6 и Restivus v0.8.12, чтобы определить несколько конечных точек REST.

У Restivus есть только два варианта authRequired:

  • true -> auth требуется и функция API не вызывается иначе
  • false -> авторизация не выполняется, даже если представлены учетные данные

У меня есть конечная точка, где я хотел бы, чтобы аутентификация была необязательной. То есть, если они отправят свои учетные данные userId и token, аутентифицируйте их как обычно и определите this.userId. Если они этого не делают, оставьте this.userId неопределенным, но все же вызовите действие. Это возможно?

Альтернативы, которые я рассматриваю, это либо определение разных конечных точек (например, GET /record/:recordId/authenticated и GET /record/:recordId/public), либо получение необработанных заголовков из запроса и выполнение аутентификации самостоятельно.

Первый вариант сбивает с толку семантику API и предполагает дублирование функции действия, а второй - переизобретает процесс аутентификации (вероятно, плохо, так как я бы написал свою собственную функцию:-)

Есть ли лучший вариант?

0 ответов

Другие вопросы по тегам