Я создаю приложение iOS на Swift, которое должно иметь возможность проверять подпись токена JWT с помощью сертификата открытого ключа с использованием RS256 или RS512.
Я пытался найти библиотеки, поддерживающие такие функции, но у меня были проблемы с реализацией найденных мною.
Поэтому у меня вопрос, каков рекомендуемый способ реализации такой функциональности для приложения Swift iOS?
Идеальный сценарий - иметь возможность использовать один из признанных фреймворков на JWT.io. Единственная библиотека Swift на JWT.io, которая поддерживает RS256 или RS512, - это следующая библиотека: https://github.com/vapor/jwt
Функциональные возможности, которые поддерживает эта библиотека, идеальны, но они, однако, требуют реализации через Swift Package Manager и построены с использованием Vapor. Диспетчер пакетов Swift в настоящее время не поддерживается для iOS, но я читал, что существуют обходные пути, позволяющие заставить диспетчер пакетов Swift работать с приложениями iOS. Это обходные пути, которые можно использовать, если библиотека может работать в приложении iOS. Однако, поскольку библиотека создана для Vapor, мой вопрос в том, можно ли вообще заставить библиотеку работать в приложении iOS, которое я создаю?
Если невозможно использовать эту библиотеку, рекомендуются ли другие библиотеки? Если нет, то каков рекомендуемый способ реализации этой запрошенной функции? Существуют ли рекомендуемые библиотеки Objective-C, которые могут работать в приложении?
Заранее спасибо!
Изменить: Под проверкой я имею в виду, что я хотел бы убедиться, что подпись в токене верна, что означает, что токен JWT был подписан закрытым ключом на сервере, которому соответствует сертификат открытого ключа в приложении. Не просто декодировать полезную нагрузку Base64Check.
Изменить 2: я пытаюсь достичь функциональности, которая поддерживает асимметричные ключи, что означает, что секрет не должен храниться как на сервере, так и в клиентском приложении. Я пытаюсь добиться того, чтобы приложение содержало только несекретную информацию, следовательно, сертификат открытого ключа.