Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/grails/grails-spring-security-oauth2
Spring security Oauth Grails 3 plugin
https://github.com/grails/grails-spring-security-oauth2
grails grails-plugins oauth2 spring-security
Last synced: 4 days ago
JSON representation
Spring security Oauth Grails 3 plugin
- Host: GitHub
- URL: https://github.com/grails/grails-spring-security-oauth2
- Owner: grails
- License: apache-2.0
- Created: 2018-05-02T15:22:30.000Z (over 6 years ago)
- Default Branch: 3.0.x
- Last Pushed: 2024-10-04T01:41:34.000Z (about 1 month ago)
- Last Synced: 2024-11-02T12:22:24.918Z (14 days ago)
- Topics: grails, grails-plugins, oauth2, spring-security
- Language: Groovy
- Homepage: https://grails.github.io/grails-spring-security-oauth2/
- Size: 1.21 MB
- Stars: 5
- Watchers: 10
- Forks: 13
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Spring Security OAuth2 Plugin
=======
[![Java CI](https://github.com/grails/grails-spring-security-oauth2/actions/workflows/gradle.yml/badge.svg)](https://github.com/grails/grails-spring-security-oauth2/actions/workflows/gradle.yml)Main differences with the Grails 2 plugin:
- no more dependency on https://github.com/antony/grails-oauth-scribe but some code of that plugin was ported in this
- Relies on [Scribejava](https://github.com/scribejava/scribejava) to do most of the OAuth logic
- simplest code as possible
- easy to extendDocumentation
------------
[User Guide](https://grails.github.io/grails-spring-security-oauth2/)Installation
------------
For Grails 5.3+Add the following dependencies in `build.gradle`
```
dependencies {
...
implementation 'org.grails.plugins:spring-security-core:5.2.1'
implementation 'org.grails.plugins:spring-security-oauth2:3.0.0'
...
}
```
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:
askToLinkOrCreateAccountUri: '/oauth2/ask' # The URI that is called to aks the user to either create a new account or link to an existing account
roleNames: ['ROLE_USER'] #A list of role names that should be automatically granted to an OAuth User. The roles will be created if they do not exist
```Once you have an User domain class, initialize this plugin by using the init script `grails init-oauth2 `
In example: `grails init-oauth2 com.yourapp User OAuthID`
That will create the domain class `com.yourapp.oAuthID`Finally add:
```groovy
static hasMany = [oAuthIDs: OAuthID]
```
to your user domain class.Extensions
----------List of known extension
* [Google](https://github.com/grails-plugins/grails-spring-security-oauth2-google)
* [Facebook](https://github.com/MatrixCrawler/grails-spring-security-oauth2-facebook)
* [Github] (https://github.com/rpalcolea/grails-spring-security-oauth2-github)How to create a new provider plugin
-----------------------------------
1. Create a new plugin with `grails create-plugin spring-security-oauth2-myProvider`
2. Add the following plugins as dependency in `build.gradle`:
* `compileOnly 'org.grails.plugins:spring-security-core:3.+'`
* `compileOnly 'org.grails.plugins:spring-security-oauth2:1.1.+'`
3. Create a service in your plugin that extends `OAuth2AbstractProviderService` and implement the abstract methods. You can override the other methods for fine-tuning if needed.License
-------Apache 2