我嘗試使用Azure移動服務的身份驗證提供程序與Google進行身份驗證。我已經按照文檔中的教程(http://azure.microsoft.com/en-us/documentation/articles/mobile-services-dotnet-backend-windows-phone-get-started-users/)並將其應用於我的應用程序的登錄屏幕。它確實顯示Google提供的登錄提示,然後我輸入憑據並單擊登錄。然後,而不是要求同意使用我的帳戶詳細信息,如預期,它可以回到我的應用程序的登錄屏幕。用於Windows Phone的Azure移動服務的身份驗證問題
我不確定有什麼問題,或者如何弄清楚什麼是錯的。我對Windows Phone開發和Visual Studio的開發有點新,更多地用於Android開發和Eclipse。這對我來說是新的,我迷路了。
以下是我用於Google身份驗證的代碼。
private async System.Threading.Tasks.Task aaGoogle()
{
while (user == null)
{
string message;
try
{
user = await App.MobileService
.LoginAsync(MobileServiceAuthenticationProvider.Google);
message = string.Format("You are now logged in - {0}", user.UserId);
}
catch (InvalidOperationException)
{
message = "You must log in. Login Required";
}
var dialog = new MessageDialog(message);
dialog.Commands.Add(new UICommand("OK"));
await dialog.ShowAsync();
}
}
幾件事情:請仔細檢查AMS配置中的谷歌項目的客戶端ID /祕密。另外,當你調試上面的代碼時會發生什麼?任何例外?用戶對象是否填充? –
雙重檢查,它們都是正確的。 沒有例外,並且用戶對象爲空,這是合理的,因爲登錄過程從未完成。改變了一些東西,仍然是相同的結果:沒有同意屏幕。 – Mike
我最終創建了一個新的客戶端ID和祕密並刪除了舊的客戶端。在將AMS配置更改爲新的並再次嘗試應用程序之後,我現在正在mscorlib.ni.dll中出現'System.ArgumentException'。這可能是相關的嗎? – Mike