Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/kubernetes/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Ionic for external API中处理重定向Uri_Javascript_Angularjs_Cordova_Ionic Framework - Fatal编程技术网

Javascript 在Ionic for external API中处理重定向Uri

Javascript 在Ionic for external API中处理重定向Uri,javascript,angularjs,cordova,ionic-framework,Javascript,Angularjs,Cordova,Ionic Framework,所以我建立了一个网络应用程序,并在爱奥尼亚制作了一个相应的移动应用程序。我想做一个进步的网络应用,因为它会让我的生活更轻松,但我想苹果还不支持这个 (顺便说一句,我对这方面还不太熟悉) 因此,我使用id.meAPI来验证军事服务,它在重定向uri中发回一个访问令牌,以便发出api请求 有两种方法可以做到这一点,通过我的服务器,或通过客户端 这是他们的网络流量 这就是我迷路的地方 因此,要启动webflow,我必须将用户发送到id.me的授权端点,我将在inappbrowser中执行此操作 ht

所以我建立了一个网络应用程序,并在爱奥尼亚制作了一个相应的移动应用程序。我想做一个进步的网络应用,因为它会让我的生活更轻松,但我想苹果还不支持这个

(顺便说一句,我对这方面还不太熟悉)

因此,我使用id.meAPI来验证军事服务,它在重定向uri中发回一个访问令牌,以便发出api请求

有两种方法可以做到这一点,通过我的服务器,或通过客户端

这是他们的网络流量

这就是我迷路的地方

因此,要启动webflow,我必须将用户发送到id.me的授权端点,我将在inappbrowser中执行此操作

https://api.id.me/oauth/authorize?client_id=CLIENT-ID&redirect_uri=REDIRECT-URI&response_type=token&scope=SCOPE
id.me在重定向时向其发回访问令牌

从那里,我可以抓取令牌,将其保存到本地存储并关闭InApp浏览器。我不知道在哪里设置uri?是本地主机吗?在平台上构建Ionic时,是否在本地服务器上运行

我会这样做吗

angular.module('myApp', ['ionic', 'ngCordova']).controller('AppCtrl', 

function($rootScope, $ionicPlatform, $cordovaInAppBrowser) {
    var callback = 'http://localhost:8100/callback';
    $scope.idAuth = function() {
      $ionicPlatform.ready(function() {
        var options = {
          location: 'yes',
          clearcache: 'no',
          toolbar: 'yes'
        };
        $cordovaInAppBrowser.open('https://api.id.me/oauth/authorize?client_id=CLIENT-ID&redirect_uri=callback&response_type=token&scope=SCOPE', '_blank', options)
      });
    };


    $rootScope.$on('$cordovaInAppBrowser:loadstart', function(e, event) {
      //and this function is called, so you do something like
      if(event.url === callback){;
        let token = event.url.match(/\#(?:access_token)\=([\S\s]*?)\&/)[1];
        $window.localStorage.setItem('token', token);
        $cordovaInAppBrowser.close();
      }
    });
现在,如果该回调uri被命中,它将运行该函数吗


还有,这就是我迷路的地方。我知道这在本地开发中是如何工作的,但当您构建并将其放到设备上时,回调uri是否仍然存在?Ionic是否在设备本身的本地服务器上运行

爱奥尼亚正在收听。默认情况下,它在设备的端口80上运行,除非您以其他方式更改配置。当您在emulator模式下运行时,会使用其他端口。

谢谢,伙计,我在任何地方都没有看到过。那我就把左舷放下!很抱歉,在重定向方面,我是n00b——我正在尝试类似的方法,但无法启动我的回调html页面。我正在使用带有“静默回调.html”页面的Auth0。我的html在“src/pages/silent callback/silent callback.html”中,我已经在app.module.ts中声明了它。我应该如何准确格式化重定向?