Browse Source

Merge pull request #3 from maaroen/wadahiro-master

Wadahiro master
pull/58/head
Jeroen Nederlof 8 months ago
committed by GitHub
parent
commit
806734f5e1
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 25
      .github/workflows/pull_request.yml
  2. 42
      .github/workflows/release.yml
  3. 13
      .idea/.gitignore
  4. 8
      .idea/indexLayout.xml
  5. 6
      .idea/vcs.xml
  6. 37
      .releaserc
  7. 19
      CHANGELOG.md
  8. 15
      pom.xml
  9. 5
      src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java
  10. 6
      src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java
  11. 3
      src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java
  12. 20
      src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java

25
.github/workflows/pull_request.yml

@ -0,0 +1,25 @@
name: Build and test for the pull request
on:
pull_request:
types: [opened, synchronize]
jobs:
build:
name: Build and test
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
steps:
- name: Checkout sources
uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
cache: 'maven'
- name: Build with Maven
run: mvn -B package

42
.github/workflows/release.yml

@ -0,0 +1,42 @@
name: Release CI
on:
push:
branches:
- master
jobs:
build:
name: Build and release
runs-on: ubuntu-latest
if: "!contains(github.event.head_commit.message, '[ci skip]')"
steps:
- name: Checkout sources
uses: actions/checkout@v4
with:
# Disabling shallow clone is needed for correctly determing next release with semantic release
fetch-depth: 0
persist-credentials: false
- name: Set up JDK
uses: actions/setup-java@v4
with:
distribution: 'temurin'
java-version: 17
cache: 'maven'
- name: Test
run: mvn -B test
- name: Semantic release
id: semantic
uses: cycjimmy/semantic-release-action@v4
with:
semantic_version: 23
extra_plugins: |
@semantic-release/changelog@6
@terrestris/maven-semantic-release@2
@semantic-release/git@10
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

13
.idea/.gitignore

@ -0,0 +1,13 @@
# Default ignored files
/shelf/
/workspace.xml
# Rider ignored files
/.idea.keycloak-discord.iml
/modules.xml
/contentModel.xml
/projectSettingsUpdater.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml

8
.idea/indexLayout.xml

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="UserContentModel">
<attachedFolders />
<explicitIncludes />
<explicitExcludes />
</component>
</project>

6
.idea/vcs.xml

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="" vcs="Git" />
</component>
</project>

37
.releaserc

@ -1,13 +1,36 @@
{
"branches": [
"master"
],
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@conveyal/maven-semantic-release",
["@semantic-release/github", {
"assets": [
{"path": "ear/target/*.ear"}
]
}]
"@semantic-release/changelog",
[
"@terrestris/maven-semantic-release",
{
"mavenTarget": "deploy",
"clean": false,
"updateSnapshotVersion": true,
"settingsPath": "/home/runner/.m2/settings.xml",
"processAllModules": true
}
],
[
"@semantic-release/git",
{
"assets": [
"CHANGELOG.md", "pom.xml", "**/pom.xml"
],
"message": "chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
],
[
"@semantic-release/github",
{
"successComment": false,
"failTitle": false
}
]
]
}

19
CHANGELOG.md

@ -0,0 +1,19 @@
## [0.6.1](https://github.com/wadahiro/keycloak-discord/compare/v0.6.0...v0.6.1) (2024-11-02)
### Bug Fixes
* eliminate the possibility of NullPointerException ([#56](https://github.com/wadahiro/keycloak-discord/issues/56)) ([e2b5991](https://github.com/wadahiro/keycloak-discord/commit/e2b5991c7ef33ee3ac6483ca00e3e854bb935371))
# [0.6.0](https://github.com/wadahiro/keycloak-discord/compare/v0.5.0...v0.6.0) (2024-11-02)
### Bug Fixes
* ignore discriminator if the value is "0" ([4c68b69](https://github.com/wadahiro/keycloak-discord/commit/4c68b69b0bf0d6421589e03e4baf8bbbe5138caa))
### Features
* update to keycloak 26.0.5 ([05a3df4](https://github.com/wadahiro/keycloak-discord/commit/05a3df43f21289762f72e3ac6780fd6b543d8c07))
* updated provider for Keycloak 25.x ([#49](https://github.com/wadahiro/keycloak-discord/issues/49)) ([c10480b](https://github.com/wadahiro/keycloak-discord/commit/c10480b79864a85817d20d48f949475020322090))

15
pom.xml

@ -7,11 +7,11 @@
<groupId>org.keycloak.extensions</groupId>
<artifactId>keycloak-discord</artifactId>
<version>0.5.3</version>
<version>0.6.2-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<version.keycloak>25.0.0</version.keycloak>
<version.keycloak>26.0.5</version.keycloak>
</properties>
<dependencies>
@ -48,8 +48,15 @@
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
<configuration>
<source>21</source>
<target>21</target>
<source>17</source>
<target>17</target>
</configuration>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.1.3</version>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>

5
src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java

@ -77,12 +77,11 @@ public class DiscordIdentityProvider extends AbstractOAuth2IdentityProvider<Disc
@Override
protected BrokeredIdentityContext extractIdentityFromProfile(EventBuilder event, JsonNode profile) {
String id = getJsonProperty(profile, "id");
BrokeredIdentityContext user = new BrokeredIdentityContext(getJsonProperty(profile, "id"), getConfig());
String username = getJsonProperty(profile, "username");
String discriminator = getJsonProperty(profile, "discriminator");
BrokeredIdentityContext user = new BrokeredIdentityContext(id, getConfig());
if (!"0".equals(discriminator)) {
username += "#" + discriminator;
}

6
src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java

@ -17,6 +17,9 @@
package org.keycloak.social.discord;
import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig;
import org.keycloak.models.IdentityProviderModel;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
@ -24,9 +27,6 @@ import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;
import org.keycloak.broker.oidc.OAuth2IdentityProviderConfig;
import org.keycloak.models.IdentityProviderModel;
/**
* @author <a href="mailto:wadahiro@gmail.com">Hiroyuki Wada</a>
*/

3
src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java

@ -1,4 +1,3 @@
/*
* Copyright 2018 Red Hat, Inc. and/or its affiliates
* and other contributors as indicated by the @author tags.
@ -78,4 +77,4 @@ public class DiscordIdentityProviderFactory extends AbstractIdentityProviderFact
public String getId() {
return PROVIDER_ID;
}
}
}

20
src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java

@ -21,21 +21,21 @@ import org.keycloak.broker.oidc.mappers.AbstractJsonUserAttributeMapper;
/**
* User attribute mapper.
*
*
* @author dannyAAM
*/
public class DiscordUserAttributeMapper extends AbstractJsonUserAttributeMapper {
private static final String[] cp = new String[] { DiscordIdentityProviderFactory.PROVIDER_ID };
private static final String[] cp = new String[]{DiscordIdentityProviderFactory.PROVIDER_ID};
@Override
public String[] getCompatibleProviders() {
return cp;
}
@Override
public String[] getCompatibleProviders() {
return cp;
}
@Override
public String getId() {
return "discord-user-attribute-mapper";
}
@Override
public String getId() {
return "discord-user-attribute-mapper";
}
}
Loading…
Cancel
Save