Cordova 在azure移动服务(.net后端)上使用ripple身份验证失败

Cordova 在azure移动服务(.net后端)上使用ripple身份验证失败,cordova,authentication,azure,azure-mobile-services,ripple,Cordova,Authentication,Azure,Azure Mobile Services,Ripple,我的设置: azure移动服务,带有.net后端,使用google配置 Phonegap(带cordova CTP3工具的VS2013) 该服务在安卓设备上运行良好 问题: ripple身份验证不起作用(对话框未关闭) 使用ripple,当我调用client.login()时,会出现身份验证对话框,它会进行身份验证,但弹出窗口不会关闭。并且永远不会调用done()回调。弹出窗口中的url类似于:https://localhost:44307/login/done#token=%7B%22

我的设置:

  • azure移动服务,带有.net后端,使用google配置
  • Phonegap(带cordova CTP3工具的VS2013)
  • 该服务在安卓设备上运行良好
问题:

  • ripple身份验证不起作用(对话框未关闭)
使用ripple,当我调用client.login()时,会出现身份验证对话框,它会进行身份验证,但弹出窗口不会关闭。并且永远不会调用done()回调。弹出窗口中的url类似于:
https://localhost:44307/login/done#token=%7B%22user%22%3A%7B%22userId%22%3A%22Google%3A1...

我不确定它是否应该工作,但是使用html客户端(从管理门户下载)可以很好地进行身份验证。我曾尝试在ripple中禁用代理,并在没有运气的情况下重新创建该项目

更新:我使用的是默认客户端,这里没有什么特别的

//  
<script src="http://ajax.aspnetcdn.com/ajax/mobileservices/MobileServices.Web-1.2.5.min.js"></script>
  var client = new WindowsAzure.MobileServiceClient(
        'https://my-app-service.azure-mobile.net/',
        //'https://localhost:44307/',
        'jFWBtWeZsRaerKJzkCVC........');

var service = {
    isSettingsLoaded: false,
    saved: null,

    login: function() {
        var self = this;
        var dfd = $q.defer();
        client.login('google').done(function(d) {
                // This is not called when using Ripple
            }
        );
        return dfd.promise;
    }
}
//
var client=新的WindowsAzure.MobileServiceClient(
'https://my-app-service.azure-mobile.net/',
//'https://localhost:44307/',
“jFWBtWeZsRaerKJzkCVC……);
var服务={
isSettingsLoaded:false,
已保存:空,
登录:函数(){
var self=这个;
var dfd=$q.defer();
client.login('google').done(函数d){
//使用Ripple时不调用此函数
}
);
回报dfd承诺;
}
}
谢谢你的帮助

重视


Larsi

我也有同样的问题,修复方法是将你的应用程序url添加到允许的外部重定向中


请参见

中的步骤7,您使用ripple的容量是多少?你能分享有问题的代码吗?您是否有理由不能使用移动服务HTML SDK登录?这将是PhoneGap的推荐方式。@mattchenderson,谢谢您的关注。我用一些代码更新了这个问题。我想使用ripple,因为它比更新我的设备更快。我不确定你所说的MS HTML SDK是什么意思-有没有其他方法可以让我登录?我也有这个问题。任何帮助都将不胜感激。一旦我使用ripple登录到google,我就会在认证弹出窗口中看到一个空白屏幕。done函数从未被调用,正如OP所说。我在@oalbrecht中遇到了同样的问题,主要错误消息是“missing exec:ADALProxy.tokenCacheReadItems”,似乎Cordova Briage有问题。任何帮助都将不胜感激。