2016-07-03 10 views
0

Xamarin FormsとAzure Mobile Appバックエンドで正常に認証できます。最初の認証に際して、ユーザはウェブ・フェースブック・ログインを促され、そこではログインしてアプリケーションの許可要求に同意しなければならない。Azure Mobile AppsとXamarinフォーム:バックグラウンドでFacebookとの認証

これ以降、アプリが起動され、ユーザーがログインする(私のアプリにはログインしたユーザーが必要です)と、毎回、白い画面が表示され、消えてログインが行われます。しかし、これはewxperienceを混乱させている、私は何とかバックグラウンドでこのログインを行うことはできますか?私は、ユーザーに白い画面を見せたくない... 何か提案がありますか?

CurrentClient.LoginAsync(currentContext, 
       MobileServiceAuthenticationProvider.Facebook); 
+0

LoginAsyncは、保存できるユーザーオブジェクトを返します。その情報をどこかに保存するだけで、それでも有効な場合は、再度ログインする必要はありません。 –

答えて

0

あなたのコードは、あなたがAzureのモバイルサービスを使用しているという仮定につながる:

この

は、コード内のログです。

LoginAsyncメソッドは、MobileServiceUserを返します。これには、認証トークンが含まれています。そのトークンを保存して、次の開始時にそれを再利用することができます。

var user = await CurrentClient.LoginAsync(...); 

そして、次の実行に再びそれを設定します。あなたはChris Risners' Blogにトークンの有効期限を扱う上で多くの情報を見つけることができます

CurrentClient.CurrentUser = user; 

+0

はい私はモバイルサービスSDKを使用していますが、バックエンドを奇妙なモバイルアプリに変更しました。それは混乱しています。つまり、ユーザーはトークンだけであると言いますか?それが期限切れになると、何か情報が得られますか?どうもありがとう! – Tom

+0

ユーザーはトークン+ユーザーIDです。追加情報はありません。したがって、有効なトークンを確認する唯一の方法は、401を聞くという要求を実行することです。しかし、これは新しい質問です。 :) Azure Mobile AppsはシンプルなSzenariosだけをカバーしています。フルコントロールが必要な場合は、おそらくActive Directoryのような完全機能の認証を探す必要があります。 –

+0

ええと、データを保存して後で追加しようとしましたが、認証が正しく機能していないようです。ユーザーが認証されていないため、私の要求はサーバーエラーになります... – Tom

関連する問題