Users do not login through OAuth 2.0, that sounds like authentication, which is not what OAuth 2.0 is for. OAuth 2.0 is for providing a third party (i.e. the “client”) with access to communicate with an API on behalf of a user, so by definition the person making the request is
not the user. If you want authentication of who the user is, you just want Kratos. OpenID Connect is a separate thing built on top of OAuth 2.0 for authentication, but that’s still giving a third party access to verify who the user is, so if you’re building a first-party app you likely still just want Kratos directly. take a look at this doc and see if it helps -
https://www.ory.sh/oauth2-openid-connect-do-you-need-use-cases-examples/