Jared Allard
Jared Allard

Reputation: 933

JS OAuth 2.0 on Windows Phone 8.1

So, I'm trying to create a Gitter client for Windows Phone and to do so I need to use Bearer OAuth on their API. This process seems to result in a redirection to a gitter webpage (to get access tokens) and then it redirects to a web page specififed by my application. However obviously an APP is not a web page, so how am I supposed to get the returned temporary access token to use the API?

I've read a little bit about using ms-app://<security identifier> but it's all very fuzzy and little to no information seems to be about using it without using c#, but that's not what I'm looking for.

Any help would be greatly appreciated!

EDIT I just noticed this has been asked here oAuth 2.0 in Windows Phone 8.1 but hasn't been awnsered. Sorry for the duplication.

Upvotes: 0

Views: 136

Answers (1)

Jared Allard
Jared Allard

Reputation: 933

Seems that it was under my nose the whole entire time!

You can use Windows.Security.Authentication.Web.WebAuthenticationBroker.authenticateAndContinue(startURI, endURI);

(docs are mainly c# but here: http://msdn.microsoft.com/en-us/library/dn631755.aspx)

i.e

  var redirect_uri = 'ms-app://<sid>';
  var client_id = '<client id>';

  // testing 
  var requestUri = new Windows.Foundation.Uri(
    'https://<site>/?client_id=' + client_id + '&redirect_uri=' + redirect_uri
  );

  Windows.Security.Authentication.Web.WebAuthenticationBroker.authenticateAndContinue(requestUri, Windows.Foundation.Uri(redirect_uri));

  app.addEventListener("activated", function (args) {
    if (args.detail.kind == activation.ActivationKind.webAuthenticationBrokerContinuation) {
      //take oauth response and continue login process
      console.log(args.detail.webAuthenticationResult);
    }
    //Handle normal activiation...(hidden)
  });

source: http://blog.stevenedouard.com/andcontinue-methods-for-windows-universal-apps/

Upvotes: 1

Related Questions