Skip to content
This repository was archived by the owner on Mar 10, 2025. It is now read-only.

Commit f0db049

Browse files
chenminschenmin25puneetbehl
committed
use GrailsUserDetailsService get authorities. (#25)
* use GrailsUserDetailsService get authorities. * Update SpringSecurityOauth2BaseService.groovy Remove commented code --------- Co-authored-by: chenmin25 <chenmin25@gt.cn> Co-authored-by: Puneet Behl <behlp@unityfoundation.io>
1 parent 1975437 commit f0db049

File tree

1 file changed

+9
-9
lines changed

1 file changed

+9
-9
lines changed

grails-app/services/grails/plugin/springsecurity/oauth2/SpringSecurityOauth2BaseService.groovy

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,26 +25,29 @@ import grails.plugin.springsecurity.oauth2.token.OAuth2SpringToken
2525
import grails.plugin.springsecurity.oauth2.util.OAuth2ProviderConfiguration
2626
import grails.plugin.springsecurity.userdetails.GormUserDetailsService
2727
import grails.plugin.springsecurity.userdetails.GrailsUser
28+
import grails.plugin.springsecurity.userdetails.GrailsUserDetailsService
2829
import groovy.util.logging.Slf4j
2930
import org.apache.commons.lang.exception.ExceptionUtils
3031
import org.springframework.security.authentication.AuthenticationManager
3132
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken
3233
import org.springframework.security.core.AuthenticationException
33-
import org.springframework.security.core.authority.SimpleGrantedAuthority
34+
import org.springframework.security.core.userdetails.UserDetails
3435

3536
@Transactional
3637
@Slf4j
3738
class SpringSecurityOauth2BaseService {
3839

39-
/**
40-
* Map for storing the different OAuth2Provider
41-
*/
40+
/**
41+
* Map for storing the different OAuth2Provider
42+
*/
4243
Map<String, OAuth2AbstractProviderService> providerServiceMap = new HashMap<>()
4344
private Map<String, OAuth2ProviderConfiguration> _providerConfigurationMap = new HashMap<>()
4445

4546
GrailsApplication grailsApplication
4647
AuthenticationManager authenticationManager
4748

49+
GrailsUserDetailsService userDetailsService
50+
4851
OAuth2SpringToken createAuthToken(String providerName, OAuth2AccessToken scribeToken) {
4952
def providerService = getProviderService(providerName)
5053
OAuth2SpringToken oAuthToken = providerService.createSpringAuthToken(scribeToken)
@@ -108,11 +111,8 @@ class SpringSecurityOauth2BaseService {
108111
boolean passwordExpired = passwordExpiredPropertyName ? user."${passwordExpiredPropertyName}" : false
109112

110113
// authorities
111-
112-
String authoritiesPropertyName = conf.userLookup.authoritiesPropertyName
113-
String authorityPropertyName = conf.authority.nameField
114-
Collection<?> userAuthorities = user."${authoritiesPropertyName}"
115-
def authorities = userAuthorities.collect { new SimpleGrantedAuthority(it."${authorityPropertyName}") }
114+
UserDetails userDetails = userDetailsService.loadUserByUsername(username,true)
115+
def authorities= userDetails.authorities
116116

117117
oAuthToken.principal = new GrailsUser(username, password, enabled, !accountExpired, !passwordExpired,
118118
!accountLocked, authorities ?: [GormUserDetailsService.NO_ROLE], user.id)

0 commit comments

Comments
 (0)