Вход в систему на основе OAuth2 для localhost: 8080 с Google, ведущим к перенаправлению на ту же страницу входа - PullRequest
0 голосов
/ 02 мая 2019

Я изучаю, как реализовать Spring Security с OAuth 2 для защиты моих конечных точек REST API. Я использую Google для входа в систему. При нажатии localhost: 8080 в моем браузере я получаю страницу входа в Google. При входе в систему меня перенаправляют на ту же страницу входа без доступа к моему API. Как мне решить эту проблему?

Я пытался сделать то же самое с Okta, но получал ошибку 'Too_Many_Redirects'.

Мой файл application.properties имеет следующие свойства oauth2: -

security.oauth2.client.client-id=XXXXXXX
security.oauth2.client.access-token-uri=https://oauth2.googleapis.com/token
security.oauth2.client.user-authorization-uri=https://accounts.google.com/o/oauth2/auth
security.oauth2.client.scope=openid profile email
security.oauth2.sso.login-path=/login
security.oauth2.resource.id=XXXXXX
security.oauth2.client.registered-redirect-uri=/login
security.oauth2.resource.user-info-uri = 
https://www.googleapis.com/userinfo/v2/me

URI перенаправления в моей консоли Google Dev - http://localost:8080/login,, что совпадает с URI входа, указанным в свойствах.

Я использовал аннотацию: - @ EnableOAuth2Sso

Я использую gradle, и мой build.gradle выглядит так: -

plugins {
id 'java'
id 'org.springframework.boot' version '2.1.4.RELEASE'
id 'gradle-boost' version '2.0.0'
id 'maven-publish'
id 'jacoco'
id 'org.sonarqube' version '2.7'
}


group = 'learning'
version = gradleBoost.fn.gitVersion()
println "Build Version = ${version ?: '[none]'}"


apply plugin: 'io.spring.dependency-management'
dependencyManagement {
imports {
    mavenBom 'org.springframework.cloud:spring-cloud-dependencies:Greenwich.SR1'
    mavenBom 'io.pivotal.spring.cloud:spring-cloud-services-dependencies:2.1.1.RELEASE'
    mavenBom  org.springframework.boot.gradle.plugin.SpringBootPlugin.BOM_COORDINATES
}
}


dependencies {

implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-actuator'
implementation 'org.springframework.cloud:spring-cloud-starter-sleuth'
implementation 'io.springfox:springfox-swagger2:2.9.2'
implementation 'io.springfox:springfox-swagger-ui:2.9.2'

//security
implementation 'org.springframework.boot:spring-boot-starter-security'
implementation 'org.springframework.cloud:spring-cloud-starter-oauth2'

//other
compileOnly 'org.projectlombok:lombok:1.18.4'

/*********** TEST ***********/

testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

Так, где я иду не так? Заранее спасибо.

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