API Authentication #3
mike-pisman
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
The server should provide a method for registering apps, and use appropriate Client ID and Client Secret for refreshing an access token.
Documentation and Standards
Browser Base Apps
Check OAuth documentation to learn more about Client ID and Secret, specifically sections 5, 8, 7.1, and 12.7
Additional information can be found in IETF standard
Native apps
For best practices regarding native applications(android, ios, mac, linux, etc) check RFC 8252
Authentication Flow
Summary
In short, according to the documentation, since browser based apps cannot store secrets securely, they either should not be able to refresh Auth token at all, or use alternative flow(3 common patterns listed bellow) with PKCE implementation. This also refferse to use of cookies, since they are directly related to access tokens.
Since native Apps, like the upcoming mobile app, can store client secret securely(embedded in the source code), there is no need for alternative flow. However, the client(application) needs to be registered with the server before initiating communication.
The 3 recommended flows are:
Task list
Server side
Admin UI
Mobile App
Web App
Beta Was this translation helpful? Give feedback.
All reactions