Я предполагаю, что вы говорите о типичной настройке «Поставщик услуг», «Потребитель» и «Пользователь»?
Если это так, сеанс и куки достаточно хороши для сохранения токенов, но проблема в том, что их должны сохранять ваши Потребители (ваши клиенты, как я понимаю), а не вы. Доступен ли сеанс / файл cookie в рамках вызовов вашего API?
В любом случае, если токены хранятся в сеансе или в файлах cookie, они будут «временными» ключами, и пользователь должен будет повторно пройти аутентификацию по истечении срока действия. Но в этом нет ничего плохого в том, что касается спецификации oAuth - если пользователи не против повторной аутентификации.
Также имейте в виду, что токены привязаны к определенной службе и пользователю, а не к любому IP-адресу или UUID устройства, например. Их нельзя использовать с разными API и секретными ключами, поскольку они привязаны к приложению, для которого они были выданы.
Таким образом, пользователь может отменить авторизацию для каждого отдельного приложения, и каждое приложение может иметь различный набор разрешений (например, доступ только для чтения). Таким образом, ваш ответ заключается в том, что вам не нужно шифровать их, и они все равно нужны в виде открытого текста (если вы пользователь).