Thanks for the assistance - the custom identity provider is working now,
and handling the non-standard userinfo I get while doing token exchange. So
the token exchange works, which is the goal :)
I do still get an error on the website when I try to use the website to
edit the provider, or create a new one - so I guess I have missed something
about linking up an MVC controller for the new provider type.
----
*James Mitchell*
Developer
e: jamesm(a)suitebox.com
w:
*SuiteBox |* Level 4, 8 Mahuhu Crescent, Auckland 1010, NZ
On Thu, 3 Oct 2019 at 13:47, James Mitchell <jamesm(a)suitebox.com> wrote:
Hi Stian, I dropped a jboss-deployment-structure.xml file into my
docker
image deployment, and it does suppress the exception. Thanks for that.
Assuming my provider is running I just need to debug the token-exchange.
Thanks,
James
----
*James Mitchell*
Developer
e: jamesm(a)suitebox.com
w:
www.suitebox.com
*SuiteBox |* Level 4, 8 Mahuhu Crescent, Auckland 1010, NZ
On Thu, 3 Oct 2019 at 09:23, James Mitchell <jamesm(a)suitebox.com> wrote:
> Hi Stian and Alfonso,
>
> I have not added a jboss deployment structure file. So far I have
> succeeded in adding customised UserStorage, PasswordHash, and a new
> Endpoint, and instead of deploying to a running server, I am using a Docker
> workflow.
> First I build a jar with my code, the dependancies, and the special
> META_INF/services/ files.
> Then I make a Docker image based on the official Keycloak image and copy
> my jar into the /opt/jboss/keycloak/standalone/deployments/ directory
> Finally I restart the services with the new image. And everything has
> been working well for the last 4 months.
>
> I'm interested that Alfonso's error is the same as mine, but for a
> UserStorageProvider.
> That suggests very strongly that I do need to do something extra to
> deploy the IdentityProvider - something that my UserProvider does not need,
> or that I have accidentally done right :) because I do not see this error
> for that class.
>
> (I have just confirmed I get the same behaviour using the v7.0.0 and the
> v6.0.1 Docker images)
>
>
> ----
>
> *James Mitchell*
>
> Developer
>
> e: jamesm(a)suitebox.com
>
> w:
www.suitebox.com
>
>
> *SuiteBox |* Level 4, 8 Mahuhu Crescent, Auckland 1010, NZ
>
>
> On Wed, 2 Oct 2019 at 19:18, Stian Thorgersen <sthorger(a)redhat.com>
> wrote:
>
>> Did you add a jboss-deployment-structure.xml with a dependency on
>> server-private-api (or whatever it is called) module?
>>
>> On Wed, 2 Oct 2019, 05:39 James Mitchell, <jamesm(a)suitebox.com> wrote:
>>
>>> Are there any examples for customising an Identity Provider?
>>>
>>> I want to make an extension to the OIDCIdentityProvider, so that I can
>>> accept non-standard fields for the userinfo response. All part of
>>> trying to
>>> get token exchange to work in our system...
>>>
>>> I have made a light change to the OIDCIdentityProvider, and also
>>> compared
>>> with the various social providers, and I have something that deploys.
>>> But it throws an error at runtime trying to create the class.
>>>
>>> This looks liek this when adding the provider in the website
>>> UT005023: Exception handling request to
>>> /auth/admin/realms/sbxtest/identity-provider/providers/xplan:
>>> java.lang.NoClassDefFoundError: Failed to link
>>> com/suitebox/keycloak/broker/xplan/XPLANIdentityProvider (Module
>>> "deployment.sbxkeycloak.jar" from Service Module Loader):
>>> org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider
>>>
>>> And looks like this when trying to perform token-exchange with the
>>> provider
>>> Uncaught server error: java.lang.NoClassDefFoundError: Failed to link
>>> com/suitebox/keycloak/broker/xplan/XPLANIdentityProvider (Module
>>> "deployment.sbxkeycloak.jar" from Service Module Loader):
>>> org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider
>>>
>>>
>>> ----
>>>
>>> *James Mitchell*
>>>
>>> Developer
>>>
>>> e: jamesm(a)suitebox.com
>>>
>>> w:
www.suitebox.com
>>>
>>>
>>> *SuiteBox |* Level 4, 8 Mahuhu Crescent, Auckland 1010, NZ
>>> _______________________________________________
>>> keycloak-user mailing list
>>> keycloak-user(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/keycloak-user
>>>
>>