Наличие WSO2AM 2.1.0-update12 (с mysql) со следующим вариантом использования
- в API Store создаем приложение
- назначить разрешение на предоставление кода с помощью URL обратного вызова
- сохранение
- редактировать приложение
Обновление ключей приложения все равно не удастся (этот стек использует базу данных h2 по умолчанию)
Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement " SELECT AKM.CONSUMER_KEY FROM AM_APPLICATION APP, AM_APPLICATION_KEY_MAPPING AKM, AM_SUBSCRIBER SUB WHERE SUB.SUBSCRIBER_ID=APP.SUBSCRIBER_ID AND APP.APPLICATION_ID = AKM.APPLICATION_ID AND APP.NAME = ? AND AKM.KEY_TYPE=? AND ( (APP.APPLICATION_ID IN (SELECT APPLICATION_ID FROM AM_APPLICATION_GROUP_MAPPING WHERE GROUP_ID IN ($PARAMS[*]) AND TENANT = ?)) OR LOWER(SUB.USER_ID) = ?) "; expected "[, ::, *, /, %, +, -, ||, ~, !~, NOT, LIKE, REGEXP, IS, IN, BETWEEN, AND, OR, ,, )"; SQL statement:
SELECT AKM.CONSUMER_KEY FROM AM_APPLICATION APP, AM_APPLICATION_KEY_MAPPING AKM, AM_SUBSCRIBER SUB WHERE SUB.SUBSCRIBER_ID=APP.SUBSCRIBER_ID AND APP.APPLICATION_ID = AKM.APPLICATION_ID AND APP.NAME = ? AND AKM.KEY_TYPE=? AND ( (APP.APPLICATION_ID IN (SELECT APPLICATION_ID FROM AM_APPLICATION_GROUP_MAPPING WHERE GROUP_ID IN ($params) AND TENANT = ?)) OR lower(SUB.USER_ID) = ?) [42001-175]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
- установить группу видимости и сохранить
теперь приложение, кажется, работает, но предоставление кода "не проверено", и невозможно установить его снова
org.wso2.carbon.apimgt.api.APIManagementException: Error when reading the application information from the persistence store.
at org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.handleException(ApiMgtDAO.java:6399)
at org.wso2.carbon.apimgt.impl.dao.ApiMgtDAO.getConsumerKeyForApplicationKeyType(ApiMgtDAO.java:4799)
at org.wso2.carbon.apimgt.impl.APIConsumerImpl.updateAuthClient(APIConsumerImpl.java:3313)
at org.wso2.carbon.apimgt.impl.UserAwareAPIConsumer.updateAuthClient(UserAwareAPIConsumer.java:34)
...
Caused by: java.sql.SQLException: Parameter index out of range (9 > number of parameters, which is 4).
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:965)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:898)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:887)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:861)
Есть ли способ обойти или компенсировать? (не терять кодовый грант)
Примечание: мы создали несколько расширений (менеджер хранилища пользователей, экстрактор группы, AuthorizationHandler), и некоторые из них не совместимы с более новыми версиями