Srinivas,

I think what you're getting at is that you don't want to issue a refresh
token to an unauthenticated client, for example a browser client where you
can't protect the secret. As Aaron alluded, PKCE is like a state
param--it's never a bad idea.

Have you considered using DCR for the browser based client? In this case, a
locally created private key only identifies that one browser session--so
the blast radius of leakage is minimal. Once you have a properly registered
client, then you could use private_key_jwt client authn at the token
endpoint as Emelia suggests.  You could include an SSA in the browser based
application (presented during DCR) to identify the scopes allowed,
expiration and any other app-specific metadata. You might want to set a
short time for the client lifetime so you don't have a bunch of unused
client entities in your AS. For example, maybe browser-based clients should
expire after one day.

I know some people feel like too many client entities in the AS is somehow
bad... but personally for high value transactions, I think it's a
manageable expense. We can train LLMs, but we can't afford a few extra bits
in the database to track the software performing sensitive transactions on
our behalf?

This would be a great topic for discussion on the IOH Livestream:
https://gluu.co/ioh-home :-)

- Mike

--------------------------------------
Michael Schwartz
Gluu
Founder/CEO
m...@gluu.org
https://www.linkedin.com/in/nynymike

-- 





*CONFIDENTIALITY NOTICE*

This message may contain confidential or 
legally privileged information.
If you are not the intended recipient, 
please immediately advise the sender by reply e-mail that you received this 
message, and delete this e-mail from your system.
Thank you for your 
cooperation
_______________________________________________
OAuth mailing list -- oauth@ietf.org
To unsubscribe send an email to oauth-le...@ietf.org

Reply via email to