Hmm, hard to solve in a safe way. Mostly I don't trust desktop applications; -)
Perhaps you are looking for some kind of federation. This basically means that your Identity Server trusts a third party (through a signature). Your Identity Server will then use the third-person SAML token as login information and generate a new SAML token (signed by you) for transfer to the MVC web application. I think Dominic has a video or two, but I'm not sure if it matches your requirements. Take a look at https://github.com/thinktecture/Thinktecture.IdentityServer.v2/wiki
The Java desktop application probably cannot create a signed SAML token, so you can use "something else." Preferably, something is signed from the place where they were registered for the first time.
You should avoid having your web application trust anyone other than your own identity / identity provider.
Hope this helps? Glad to help where I can :-)
source share