OAuth 2 for native application - what is difference between public and confidential client types? -


i trying implement oauth 2 provider web service , built native application on top of it. want give access api third-party developers.

i read oauth 2 specification , can't choose right flow. want authenticate both cli , gui apps well.

first of have 2 client types - public , confidential. of course both gui , cli apps public. difference between 2 types? in case need client_secret if can access token without changing client type?

i tried @ api implementations of popular services github. use http basic auth. not sure idea.

what brink choose between usability (good old login , password in cli more comfortable opening web browser) , security?

thanks!

as difference between public , confidential clients, see http://tutorials.jenkov.com/oauth2/client-types.html says:

a confidential client application capable of keeping client password confidential world. client password assigned client app authorization server. password used identify client authorization server, avoid fraud. example of confidential client web app, no 1 administrator can access server, , see client password.

a public client application not capable of keeping client password confidential. instance, mobile phone application or desktop application has client password embedded inside it. such application cracked, , reveal password. same true javascript application running in users browser. user use javascript debugger application, , see client password.

confidential clients more secure public clients, may not able use confidential clients because of constraints on environment run in (c.q. native apps, in-browser clients).


Comments

Popular posts from this blog

python - TypeError: start must be a integer -

c# - DevExpress RepositoryItemComboBox BackColor property ignored -

django - Creating multiple model instances in DRF3 -