How to upload public key for an OpenID application

Hello!

I’m trying to upload a public key to be used by Okta to validate the signature of the JWT submitted with the authentication code request.

I’m getting as far as clicking the “Add Key”. But there is no option to upload, just paste, and when I paste the certificate, it displays an “Invalid JSON format” error.

I did try converting it to JSON format, but when save it, it says “invalid date time”. And now that the key is saved, I can’t delete it.

My questions are:

  1. Is there a way to upload the public certificate (as opposed to paste?)
  2. Otherwise, is there a way to paste it in pem format as opposed to json format?
    I noticed it gives the pem option if you generate the key.
  3. Is there any way to delete the key once created?
  4. Is there any documentation on this procedure (I’ve looked, by might have missed it)

Thanks!

  1. Our APIs support adding/removing Public keys from OIDC apps (see details at the bottom of this post)
  2. We only support uploading public keys as JWKS, not PEM, so you will need to convert it first.
  3. When you tried to delete the key within the UI, did you make sure to add a new key first and then deactivate the old one?

    Once I added a second key to my app, I was able to set my first key to Inactive and then I was able to Delete it
  4. There is some information about how to configure an app for Private Key JWT auth in our guide on how to Implement OAuth for Okta with a service app. As far as using our API instead, as this is related to OIDC apps, the ability to configure this is available as part of the to Dynamic Client Registration endpoint (which is part of the OAuth/OIDC specs) AND via Okta’s Apps endpoint

Thanks so much! This was very helpful. I’ve gotten it to save the JWT, however, still no luck authenticating. I will post another question on that.

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.