OKTA OIDC native application integration

I have a native app(java) running on a backend server that needs to authenticate a user with OKTA/OIDC. What would be the most appropriate grant-type for such an application considering that there is no browser involved? I am confused and not very clear why a redirect_uri is required. I need to be able to authenticate the user with username/password then use the session Token to acquire the OIDC id token and access token. Any help or guidance is very much appreciated.