Oauth 2.0 having four types of scenarios as follows
1. Authorization code – A resource owner is able to authenticate directly with an authorization server, and passes on an “authorization code” to the client app.
3. Resource owner credentials – Where there is a high degree of trust between the resource owner and the client app (e.g. a trusted client app on a resource owner’s mobile device). we are using this scenario in mobile applications because redirection is not possible with mobile apps.
4. Client credentials – For access to protected resources that are under the control of the client app (and not any specific/individual resource owner). This is using for public resource as well as this scenario represented 2-legged OAuth