What is the correct redirect URL for chrome.identi

2020-07-06 06:26发布

问题:

I'd like to use the chrome.identity API in a chrome packaged app to allow the user to authenticate with github.

From the app side, I'm happy with:

chrome.identity.launchWebAuthFlow(
  {'url':'https://github.com/login/oauth/authorize?client_id=clientidgoeshere','interactive':true}, 
  functionToTakeRedirectURL
);

But I'm unsure what the redirect URL should be on the github side. When the app is live, I'll set the redirect url to https://appidgoeshere.chromiumapp.org on the github application page, but I don't think that url is available until the app is live.

Does anybody know where to point the redirect when you're writing the app?

I'm writing the app in Dart using the chrome.dart library, but I think the same problem exists if I was writing in plain javascript.

回答1:

This github auth chrome app sample uses chrome.runtime.id to build the redirect URL:

 var redirectUri = 'https://' + chrome.runtime.id +
                  '.chromiumapp.org/provider_cb';

References:

  • chrome.runtime
  • Sample app linked to from this (chrome app identity) page


回答2:

You can use chrome.identity.getRedirectURL so you don't have to hardcode the redirect URL pattern in your app.