Мы создаем мобильное приложение и его API-сервер с архитектурой, как на картинке ниже.
У нас есть WSO2 в качестве шлюза API перед сервером API Spring Boot. Мы используем WSO2 API Manager, чтобы ограничить круг лиц, которые могут вызывать API. Только клиенты, которые зарегистрировались в нашем WSO2 и имеют правильный ключ и секрет потребителя, могут вызывать API через WSO2, с помощью которого клиент сначала обращается к конечной точке токена WSO2 для обмена ключом и секретом потребителя с токеном доступа, а затем вызывает желаемый API. с токеном доступа в заголовке Authorization: Bearer <access token>
У нас есть проблема, заключающаяся в том, что мы не знаем, как сохранить секрет потребителя, поскольку проверки безопасности запрещают нам хранить секрет в пакете установщика мобильного приложения.
Были уже заданы некоторые вопросы, такие как
WSO2 API Manager - Как мобильное приложение подключается к диспетчеру API?
Безопасность WSO2 Api Manager OAuth2 DCR в общедоступном собственном мобильном устройстве приложение
Но ни один ответ правильно не указывает на проблему. Большинство из них были введены в заблуждение сложностью потока oauth2.
Чтобы сделать проблему конкретной и ясной, предположим, что на нашем мобильном телефоне нет пользователей для входа в систему. Цель этой проблемы — разрешить только доверенным мобильным приложениям вызывать API через WSO2.
Помогите, подскажите, возможно это или нет. Или у нас нет другого выбора, кроме как позволить любому вызывать API. Или функция потребительской подписки WSO2 вообще не предназначена для использования непосредственно из мобильного приложения?