The OAuth 2 spec leads me to believe that the "resource server" and "authorization server" do not necessarily have to be the same application but I'm struggling to figure out how this is actually implemented in practice.
As an example, suppose the following apps exist:
Scenario #1: Logging in to web frontend
Scenario #2: Authorizing third-party app
The part I'm having trouble understanding is how to authenticate the user before showing the allow/deny form in scenario #2. The user may be logged into the main web app but the auth service has no idea about that and would somehow need to authenticate the user again. Does the auth service need to support login/sessions as well?
I'm wondering if it might make more sense for the web app to be responsible for showing the allow/deny form for two reasons:
Here's one possible alternative to scenario #2:
What's the best way to handle this? Any general comments, advice, etc. would be awesome!
Thanks
Your alternate scenario is probably what you want to go with: if you really really want to separate your flows out, you could try something like this: