When you try to authenticate the user using OAuth 2.0, to access Google APIs from your chrome app and if it loads a URL like chrome://chrome-signin/?access_point=5&reason=0 means that there is issue with validating your client_id and your extension id. When you are developing chrome app, the extension id of the loaded unpacked extension might not be the same as the id generated by the chrome webstore. So when you create a chrome app OAuth 2.0 client id from Google APIs console, instead of giving the chrome webstore URL id which it suggests, give your local extension id. Then use the obtained client_id in your manifest. Next time when you call the chrome identity API, it should show the OAuth permission popup. Basically, your chrome extension id should match the id used for generating the OAuth credentials. Before publishing, use a different client id generated from the chrome webstore URL.