Header!
Если я понимаю ваш вопрос, у вас есть кое-что, что вы собираетесь передать с каждым запросом. Это означает, что если вы хотите поддерживать безопасные запросы, такие как GET и HEAD, у вас есть только два варианта: заголовки HTTP или URL (обычно через параметры запроса).
Поскольку он включает в себя информацию для аутентификации, вам не следует указывать ее в URL. Кроме этого, вы говорите, что он зашифрован, и дополнительным уровнем защиты было бы сделать это через SSL, но заголовок и тело одинаково безопасны / уязвимы, поэтому это не имеет значения с точки зрения безопасности.
Помещение в заголовок также отделяет его от состояния приложения, а также от типа носителя, что хорошо. Если вы хотите поддерживать формы JSON, XML и XHTML, это не имеет значения для ваших параметров аутентификации.