I’m working on a Xamarin app using the .NET CB Lite SDK. Due to our app’s login process we actually need to authenticate the user against their OpenID provider before we set up the replication.
My idea here was to manually GET the /_oidc_callback once after the user authenticates in their browser, parse the response to get the JWT, then pick out the refresh token from this first authentication and use that for any further needs. However, I’m not entirely sure how I would use this refresh token with the provided AuthenticatorFactory.CreateOpenIDAuthenticator method.
I tried having the continuation go to the /_oidc_refresh URL instead of the /_oidc_callback URL, but it looks like that isn’t supported. Looking through the source of the OpenIDAuthenticator class on github it seems that the ContinueAsyncLogin method checks if the authUrl provided to the continuation ends in “/_oidc_callback” so that makes sense.
Is there a preferred way to authenticate the replicator using just the refresh token? Or if not, will I need to do this manually? Perhaps by creating a custom Authenticator class using the IAuthenticator interface.