Example #1
0
    public void UnLinkWithAuthDataAsyncFacebook()
    {
        // テストデータ作成
        NCMBUser user = new NCMBUser();

        user.AuthData = facebookParams.param;

        // authData登録
        user.LogInWithAuthDataAsync((NCMBException e) => {
            Assert.Null(e);
        });
        NCMBTestSettings.AwaitAsync();

        Assert.True(user.IsLinkWith("facebook"));

        // authData削除
        user.UnLinkWithAuthDataAsync("facebook", (NCMBException e1) => {
            Assert.Null(e1);
            NCMBTestSettings.CallbackFlag = true;
        });
        NCMBTestSettings.AwaitAsync();

        // 削除成功の確認
        Assert.False(user.IsLinkWith("facebook"));
        Assert.True(NCMBTestSettings.CallbackFlag);
        NCMBUser.LogOutAsync();
    }
 /// <summary>
 /// 非同期処理で現在ログインしているユーザのauthDataの削除を行います。<br/>
 /// 通信結果が必要な場合はコールバックを指定するこちらを使用します。
 /// </summary>
 /// <param name="provider">SNS名</param>
 /// <returns>削除後のユーザ</returns>
 public static IObservable <NCMBUser> UnLinkWithAuthDataAsyncAsStream(this NCMBUser user, string provider)
 {
     return(Observable.Create <NCMBUser>(observer =>
     {
         var gate = new object();
         var isDisposed = false;
         user.UnLinkWithAuthDataAsync(provider, error =>
         {
             lock (gate)
             {
                 if (isDisposed)
                 {
                     return;
                 }
                 if (error == null)
                 {
                     observer.OnNext(user);
                     observer.OnCompleted();
                 }
                 else
                 {
                     observer.OnError(error);
                 }
             }
         });
         return Disposable.Create(() =>
         {
             lock (gate)
             {
                 isDisposed = true;
             }
         });
     }));
 }
Example #3
0
    public IEnumerator UnLinkWithAuthDataAsyncTwitter()
    {
        // テストデータ作成
        NCMBUser user = new NCMBUser();

        user.AuthData = twitterParams.param;

        // authData登録
        user.LogInWithAuthDataAsync((NCMBException e) => {
            Assert.Null(e);
            NCMBTestSettings.CallbackFlag = true;
        });
        yield return(NCMBTestSettings.AwaitAsync());

        NCMBTestSettings.CallbackFlag = false;

        Assert.True(user.IsLinkWith("twitter"));

        // authData削除
        user.UnLinkWithAuthDataAsync("twitter", (NCMBException e1) => {
            Assert.Null(e1);
            NCMBTestSettings.CallbackFlag = true;
        });
        yield return(NCMBTestSettings.AwaitAsync());

        // 削除成功の確認
        Assert.False(user.IsLinkWith("twitter"));
        Assert.True(NCMBTestSettings.CallbackFlag);
    }
Example #4
0
        /// <summary>
        /// 非同期処理で現在ログインしているユーザのauthDataの削除を行います。<br/>
        /// </summary>
        /// <param name="provider">SNS名</param>
        public static Task <NCMBUser> UnLinkWithAuthDataTaskAsync(this NCMBUser user, string provider)
        {
            var tcs = new TaskCompletionSource <NCMBUser>();

            user.UnLinkWithAuthDataAsync(provider, error =>
            {
                if (error != null)
                {
                    tcs.SetException(error);
                }
                else
                {
                    tcs.SetResult(user);
                }
            });
            return(tcs.Task);
        }
Example #5
0
    public IEnumerator UnLinkFacebookLinkTwitter()
    {
        // テストデータ作成
        NCMBUser user = new NCMBUser();

        user.AuthData = facebookParams.param;

        // authData登録
        user.LogInWithAuthDataAsync((NCMBException e) => {
            Assert.Null(e);
            NCMBTestSettings.CallbackFlag = true;
        });
        yield return(NCMBTestSettings.AwaitAsync());

        NCMBTestSettings.CallbackFlag = false;

        // authData追加
        user.LinkWithAuthDataAsync(twitterParams.param, (NCMBException e1) => {
            Assert.Null(e1);
            NCMBTestSettings.CallbackFlag = true;
        });
        yield return(NCMBTestSettings.AwaitAsync());

        NCMBTestSettings.CallbackFlag = false;
        Assert.True(user.IsLinkWith("twitter"));

        // authData削除
        user.UnLinkWithAuthDataAsync("facebook", (NCMBException e2) => {
            Assert.Null(e2);
            NCMBTestSettings.CallbackFlag = true;
        });
        yield return(NCMBTestSettings.AwaitAsync());

        // 削除成功の確認
        Assert.IsNotEmpty(NCMBUser._getCurrentSessionToken());
        Assert.True(user.IsLinkWith("twitter"));
        Assert.False(user.IsLinkWith("facebook"));
        Assert.True(NCMBTestSettings.CallbackFlag);
    }