Apache Meecrowave OAuth2 JPA - PullRequest
       43

Apache Meecrowave OAuth2 JPA

0 голосов
/ 06 мая 2020

Мне удалось создать собственный сервер OAuth2 с использованием JCache в качестве хранилища токенов, но я столкнулся с проблемой при переходе на JPA.

Моя конфигурация:

                 "--users","test=test",
                 "--roles","test=test",
                 "--oauth2-provider","jpa",
                 "--oauth2-jpa-database-driver","org.h2.Driver",
                 "--oauth2-jpa-database-url","jdbc:h2:mem:oauth",
                 "--oauth2-jpa-database-username","sa",
                 "--oauth2-jpa-database-password",""

Но я получил исключение ниже во время OpenJPA bootstrap:

here was an error while setting up the configuration plugin option "MetaDataFactory". 
The plugin was of type "org.apache.openjpa.persistence.jdbc.PersistenceMappingFactory". 
Setter methods for the following plugin properties were not available in that type: [
org.apache.cxf.rs.security.oauth2.tokens.bearer.BearerAccessToken, 
org.apache.cxf.rs.security.oauth2.common.OAuthPermission, 
org.apache.cxf.rs.security.oauth2.tokens.refresh.RefreshToken, 
org.apache.cxf.rs.security.oauth2.grants.code.ServerAuthorizationCodeGrant, 
org.apache.cxf.rs.security.oauth2.common.UserSubject]. 
Possible plugin properties are: 
[AnnotationParser, ClasspathScan, FieldOverride, Files, JAR_FILE_URLS, MAPPING_FILE_NAMES, MODE_ALL, MODE_ANN_MAPPING, MODE_MAPPING, MODE_MAPPING_INIT, MODE_META, MODE_NONE, MODE_QUERY, PERSISTENCE_UNIT_ROOT_URL, Repository, Resources, STORE_DEFAULT, STORE_PER_CLASS, STORE_VERBOSE, StoreDirectory, StoreMode, Strict, Types, URLs, XMLAnnotationParser, XMLParser].
Ensure that your plugin configuration string uses key values that correspond to setter methods in the plugin class.

Полагаю, я что-то пропустил в конфигурации ...

Любая помощь будет принята с благодарностью.

Tx

1 Ответ

0 голосов
/ 07 мая 2020

Используя --oauth2-jpa-properties, вы можете установить любые свойства единицы сохранения состояния, которые вы хотите, я думаю, вам придется переопределить значение по умолчанию openjpa.MetaDataFactory, которое установлено на jpa(Types=org.apache.cxf.rs.security.oauth2.common.Client,org.apache.cxf.rs.security.oauth2.common.OAuthPermission,org.apache.cxf.rs.security.oauth2.common.UserSubject,org.apache.cxf.rs.security.oauth2.grants.code.ServerAuthorizationCodeGrant,org.apache.cxf.rs.security.oauth2.tokens.bearer.BearerAccessToken,org.apache.cxf.rs.security.oauth2.tokens.refresh.RefreshToken).

Вы также можете проверить, если ваша конфигурация правильно распространяется, и если нет конфликта пути к классам (другое постоянство. xml с модулем oauth2?), потому что я только что повторно протестировал, и ваша конфигурация, похоже, работает.

Romain

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...