Main differences with the Grails 2 plugin:
For Grails 5.3+
Add the following dependencies in build.gradle
dependencies { ... implementation 'org.apache.grails:grails-spring-security:{revnumber}' implementation 'org.apache.grails:grails-spring-security-oauth2:{revnumber}' ... }
You will also need at least one provider extension, i.e the grails-spring-security-oauth2-google plugin Change the version to reflect the actual version you would like to use.
You can configure the following parameters in your application.yml. This is fully optional
grails: plugin: springsecurity: oauth2: active: true #whether the whole plugin is active or not registration: # The URI that is called to aks the user to either create a new account or link to an existing account askToLinkOrCreateAccountUri: '/oauth2/ask' # A list of role names that should be automatically granted to an OAuth User. The roles will be created if they do not exist roleNames: [ 'ROLE_USER' ]
Once you have an User domain class, initialize this plugin by using the init script grails init-oauth2 <domain-class-package> <user-class-name> <oauthid-class-name> In example: grails init-oauth2 com.yourapp User OAuthID That will create the domain class com.yourapp.oAuthID
Finally add:
static hasMany = [oAuthIDs: OAuthID]
to your user domain class.
List of known extension
grails create-plugin spring-security-oauth2-myProviderbuild.gradle:compileOnly 'org.apache.grails:grails-spring-security:{revnumber}'compileOnly 'org.apache.grails:grails-spring-security-oauth2:{revnumber}'OAuth2AbstractProviderService and implement the abstract methods. You can override the other methods for fine-tuning if needed.Apache 2