Hiroyuki Wada
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 57 additions and 211 deletions
-
17.github/workflows/pull_request.yml
-
40.github/workflows/release.yml
-
8pom.xml
-
2src/main/java/org/keycloak/social/discord/DiscordIdentityProvider.java
-
6src/main/java/org/keycloak/social/discord/DiscordIdentityProviderConfig.java
-
17src/main/java/org/keycloak/social/discord/DiscordIdentityProviderFactory.java
-
20src/main/java/org/keycloak/social/discord/DiscordUserAttributeMapper.java
-
7src/main/resources/theme-resources/messages/admin-messages_en.properties
-
7src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord-ext.html
-
144src/main/resources/theme-resources/resources/partials/realm-identity-provider-discord.html
@ -1,7 +0,0 @@ |
|||
discord-client-id=Client Id |
|||
discord-client-secret=Client Secret |
|||
discord-allowed-guilds=Guild Id(s) to allow federation |
|||
discord.client-id.tooltip=Client Id for the application you created in your discord developer portal. |
|||
discord.client-secret.tooltip=Client Secret for the application that you created in your discord developer portal. |
|||
discord.allowed-guilds.tooltip=If you want to allow federation for specific guild, enter the guild id. Please use a comma as a separator for multiple guilds. |
|||
discord.default-scopes.tooltip=The scopes to be sent when asking for authorization. See discord OAuth2 documentation for possible values. If you do not specify anything, scope defaults to 'identify email' In addition, plus 'guilds' if you enter guild id(s) to allow federation. |
@ -1,7 +0,0 @@ |
|||
<div class="form-group clearfix"> |
|||
<label class="col-md-2 control-label" for="allowdGuilds">{{:: 'discord-allowed-guilds' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input class="form-control" id="baseUrl" type="text" ng-model="identityProvider.config.allowedGuilds"> |
|||
</div> |
|||
<kc-tooltip>{{:: 'discord.allowed-guilds.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
@ -1,144 +0,0 @@ |
|||
<div class="col-sm-9 col-md-10 col-sm-push-3 col-md-push-2"> |
|||
<ol class="breadcrumb"> |
|||
<li><a href="#/realms/{{realm.realm}}/identity-provider-settings">{{:: 'identity-providers' | translate}}</a></li> |
|||
<li data-ng-hide="newIdentityProvider">{{provider.name}}</li> |
|||
<li data-ng-show="newIdentityProvider">{{:: 'add-identity-provider' | translate}}</li> |
|||
</ol> |
|||
|
|||
<kc-tabs-identity-provider></kc-tabs-identity-provider> |
|||
|
|||
<form class="form-horizontal" name="realmForm" novalidate kc-read-only="!access.manageIdentityProviders"> |
|||
<fieldset> |
|||
<div class="form-group clearfix"> |
|||
<label class="col-md-2 control-label" for="redirectUri">{{:: 'redirect-uri' | translate}}</label> |
|||
<div class="col-sm-6"> |
|||
<input class="form-control" id="redirectUri" type="text" value="{{callbackUrl}}{{identityProvider.alias}}/endpoint" readonly kc-select-action="click"> |
|||
</div> |
|||
<kc-tooltip>{{:: 'redirect-uri.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
</fieldset> |
|||
<fieldset> |
|||
<div class="form-group clearfix"> |
|||
<label class="col-md-2 control-label" for="clientId"><span class="required">*</span> {{:: 'discord-client-id' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input class="form-control" id="clientId" type="text" ng-model="identityProvider.config.clientId" required> |
|||
</div> |
|||
<kc-tooltip>{{:: 'discord.client-id.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group clearfix"> |
|||
<label class="col-md-2 control-label" for="clientSecret"><span class="required">*</span> {{:: 'discord-client-secret' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input class="form-control" id="clientSecret" kc-password ng-model="identityProvider.config.clientSecret" required> |
|||
</div> |
|||
<kc-tooltip>{{:: 'discord.client-secret.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div data-ng-include data-src="resourceUrl + '/partials/realm-identity-provider-' + identityProvider.providerId + '-ext.html'"></div> |
|||
<div class="form-group clearfix"> |
|||
<label class="col-md-2 control-label" for="defaultScope">{{:: 'default-scopes' | translate}} </label> |
|||
<div class="col-md-6"> |
|||
<input class="form-control" id="defaultScope" type="text" ng-model="identityProvider.config.defaultScope"> |
|||
</div> |
|||
<kc-tooltip>{{:: 'discord.default-scopes.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="enabled">{{:: 'store-tokens' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input ng-model="identityProvider.storeToken" id="storeToken" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" /> |
|||
</div> |
|||
<kc-tooltip>{{:: 'identity-provider.store-tokens.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="storedTokensReadable">{{:: 'stored-tokens-readable' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input ng-model="identityProvider.addReadTokenRoleOnCreate" id="storedTokensReadable" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" /> |
|||
</div> |
|||
<kc-tooltip>{{:: 'identity-provider.stored-tokens-readable.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="enabled">{{:: 'enabled' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input ng-model="identityProvider.enabled" id="enabled" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" /> |
|||
</div> |
|||
<kc-tooltip>{{:: 'identity-provider.enabled.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="trustEmail">{{:: 'trust-email' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input ng-model="identityProvider.trustEmail" name="identityProvider.trustEmail" id="trustEmail" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" /> |
|||
</div> |
|||
<kc-tooltip>{{:: 'trust-email.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="linkOnly">{{:: 'link-only' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input ng-model="identityProvider.linkOnly" name="identityProvider.trustEmail" id="linkOnly" onoffswitch on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" /> |
|||
</div> |
|||
<kc-tooltip>{{:: 'link-only.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="hideOnLoginPage">{{:: 'hide-on-login-page' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input ng-model="identityProvider.config.hideOnLoginPage" name="identityProvider.config.hideOnLoginPage" id="hideOnLoginPage" onoffswitchvalue on-text="{{:: 'onText' | translate}}" off-text="{{:: 'offText' | translate}}" /> |
|||
</div> |
|||
<kc-tooltip>{{:: 'hide-on-login-page.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="guiOrder">{{:: 'gui-order' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<input class="form-control" id="guiOrder" type="text" ng-model="identityProvider.config.guiOrder"> |
|||
</div> |
|||
<kc-tooltip>{{:: 'gui-order.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="firstBrokerLoginFlowAlias">{{:: 'first-broker-login-flow' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<div> |
|||
<select class="form-control" id="firstBrokerLoginFlowAlias" |
|||
ng-model="identityProvider.firstBrokerLoginFlowAlias" |
|||
ng-options="flow.alias as flow.alias for flow in authFlows" |
|||
required> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<kc-tooltip>{{:: 'first-broker-login-flow.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="postBrokerLoginFlowAlias">{{:: 'post-broker-login-flow' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<div> |
|||
<select class="form-control" id="postBrokerLoginFlowAlias" |
|||
ng-model="identityProvider.postBrokerLoginFlowAlias" |
|||
ng-options="flow.alias as flow.alias for flow in postBrokerAuthFlows"> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<kc-tooltip>{{:: 'post-broker-login-flow.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
<div class="form-group"> |
|||
<label class="col-md-2 control-label" for="prompt">{{:: 'prompt' | translate}}</label> |
|||
<div class="col-md-6"> |
|||
<div> |
|||
<select class="form-control" id="prompt" ng-model="identityProvider.config.prompt"> |
|||
<option value="">{{:: 'unspecified.option' | translate}}</option> |
|||
<option value="none">{{:: 'none.option' | translate}}</option> |
|||
<option value="consent">{{:: 'consent.option' | translate}}</option> |
|||
<option value="login">{{:: 'login.option' | translate}}</option> |
|||
<option value="select_account">{{:: 'select-account.option' | translate}}</option> |
|||
</select> |
|||
</div> |
|||
</div> |
|||
<kc-tooltip>{{:: 'prompt.tooltip' | translate}}</kc-tooltip> |
|||
</div> |
|||
|
|||
</fieldset> |
|||
|
|||
<div class="form-group"> |
|||
<div class="col-md-10 col-md-offset-2"> |
|||
<button kc-save data-ng-disabled="!changed">{{:: 'save' | translate}}</button> |
|||
<button kc-cancel data-ng-click="cancel()" data-ng-disabled="!changed">{{:: 'cancel' | translate}}</button> |
|||
</div> |
|||
</div> |
|||
</form> |
|||
</div> |
|||
|
|||
<kc-menu></kc-menu> |
Write
Preview
Loading…
Cancel
Save
Reference in new issue