Дополнительная аутентификация с помощью 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 и предполагает дублирование функции действия, а второй - переизобретает процесс аутентификации (вероятно, плохо, так как я бы написал свою собственную функцию:-)
Есть ли лучший вариант?