Я работаю над базовым окном grails, защищенным аутентификацией OAuth2 - code here. Это не более того, что для плагинов с пружинной безопасностью и плагинами с пружиной - oauth для запуска приложения. В моей начальной загрузки у меня есть (как в начале работы):Grails OAuth2 signin Password Credentials Grant возвращает invalid_client
Role roleUser = new Role(authority: 'ROLE_USER').save(flush: true)
User user = new User(
username: 'user',
password: 'password',
enabled: true,
accountExpired: false,
accountLocked: false,
passwordExpired: false
).save(flush: true)
UserRole.create(user, roleUser, true)
new Client(
clientId: 'my-client',
authorizedGrantTypes: ['authorization_code', 'refresh_token', 'implicit', 'password', 'client_credentials'],
authorities: ['ROLE_CLIENT'],
scopes: ['read', 'write'],
redirectUris: ['http://example.com']
).save(flush: true)
Я пытаюсь понять поток OAuth входа в систему по примеру потоков, перечисленных в documentation.
Всякий раз, когда я пытаюсь выполнить аутентификацию с помощью "Resource Owner Password Credentials Grant" с этим запросом:
$ curl -X POST -d "client_id=my-client" \
-d "grant_type=password" -d "username=user" \
-d "password=password" -d "scope=read" \
http://localhost:9090/grails-oauth-service/oauth/token
я получаю следующее сообщение:
{"error":"invalid_client","error_description":"Bad client credentials"}
Что я делаю неправильно? Как я (или мой клиент) правильно сделаю один вызов для аутентификации в службе?
Здравствуйте, @adeady. Вы пытались отделить свои полномочия и услуги провайдера в Grails в двух приложениях? –