checkSession always return 'login_required' on localhost

I referenced the doc just for reference purpose; you’re correct that you won’t be able to skip consent for localhost.

I may also have expressed myself incorrectly; I agree that you should not have to deploy this to an online hosting service or other to have this working. What I meant was that you should not be using the localhost name to resolve your locally running server. For example, you can define app.example.com in your hosts file to map to 127.0.0.1 which would give you the same outcome as localhost without using the localhost special name which is what leads to consent being required.