GetLogoutUrl() public method

Gets the logout url.
public GetLogoutUrl ( ) : Uri
return System.Uri
Ejemplo n.º 1
0
        /// <summary>
        /// Constructor with three parameters
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="extendedPermissions"></param>
        /// <param name="logout"></param>
        public FacebookForm(string appId, string[] extendedPermissions, bool logout)
        {
            var oauth = new FacebookOAuthClient { AppId = appId };
            var loginParameters = new Dictionary<string, object>
                    {
                        { "response_type", "token" },
                        { "display", "popup" }
                    };

            if (extendedPermissions != null && extendedPermissions.Length > 0)
            {
                var scope = new StringBuilder();
                scope.Append(string.Join(",", extendedPermissions));
                loginParameters["scope"] = scope.ToString();
            }
            var loginUrl = oauth.GetLoginUrl(loginParameters);
            if (logout)
            {
                var logoutParameters = new Dictionary<string, object>
                                           {
                                               { "next", loginUrl }
                                           };

                this.navigateUrl = oauth.GetLogoutUrl(logoutParameters);
            }
            else
            {
                this.navigateUrl = loginUrl;
            }

            InitializeComponent();
        }
Ejemplo n.º 2
0
 //
 // GET: /Account/LogOff/
 public ActionResult LogOff()
 {
     FormsAuthentication.SignOut();
     var oAuthClient = new FacebookOAuthClient {RedirectUri = new Uri(LogoffUrl)};
     var logoutUrl = oAuthClient.GetLogoutUrl();
     return Redirect(logoutUrl.AbsoluteUri);
 }
Ejemplo n.º 3
0
 //
 // GET: /Account/LogOff/
 public ActionResult LogOff()
 {
     FormsAuthentication.SignOut();
     var oAuthClient = new FacebookOAuthClient();
     oAuthClient.RedirectUri = new Uri(ConfigurationManager.AppSettings["LogoffUrl"]);
     var logoutUrl = oAuthClient.GetLogoutUrl();
     return Redirect(logoutUrl.AbsoluteUri);
 }
Ejemplo n.º 4
0
        /// <summary>
        /// Gets the login url.
        /// </summary>
        /// <param name="appId">
        /// The app id.
        /// </param>
        /// <param name="redirectUri">
        /// The redirect Uri.
        /// </param>
        /// <param name="extendedPermissions">
        /// The extended permissions (scope).
        /// </param>
        /// <param name="logout">  
        /// Indicates whether to logout existing logged in user or not.  
        /// </param>  
        /// <param name="loginParameters">
        /// The login parameters.
        /// </param>
        /// <returns>
        /// The url to navigate.
        /// </returns>
        public static Uri GetLoginUrl(string appId, Uri redirectUri, string[] extendedPermissions, bool logout, IDictionary<string, object> loginParameters)
        {
            Contract.Requires(!string.IsNullOrEmpty(appId));
            Contract.Ensures(Contract.Result<Uri>() != null);

            var oauth = new FacebookOAuthClient { AppId = appId, RedirectUri = redirectUri };

            var defaultLoginParameters = new Dictionary<string, object>
                                             {
                                                 { "response_type", "code" }, // make it "code" by default for security reasons.
            #if WINDOWS_PHONE
                                                 { "display", "touch" }
            #else
                                                 { "display", "popup" }
            #endif
                                             };

            if (extendedPermissions != null && extendedPermissions.Length > 0)
            {
                defaultLoginParameters["scope"] = string.Join(",", extendedPermissions);
            }

            var mergedLoginParameters = FacebookUtils.Merge(defaultLoginParameters, loginParameters);

            var loginUrl = oauth.GetLoginUrl(mergedLoginParameters);

            Uri navigateUrl;
            if (logout)
            {
                var logoutParameters = new Dictionary<string, object>
                                           {
                                               { "next", loginUrl }
                                           };

                navigateUrl = oauth.GetLogoutUrl(logoutParameters);
            }
            else
            {
                navigateUrl = loginUrl;
            }

            return navigateUrl;
        }
Ejemplo n.º 5
0
        public ActionResult LogOff()
        {
            if (FacebookWebContext.Current.IsAuthenticated())
            {
                FacebookWebContext.Current.DeleteAuthCookie();
                FacebookOAuthClient oauth = new FacebookOAuthClient(FacebookWebContext.Current.Settings);
                var logoutUrl = oauth.GetLogoutUrl(new Dictionary<string, object> { { "next", Request.UrlReferrer.AbsoluteUri.ToString() } });

                FormsService.SignOut();
                return Redirect(logoutUrl.AbsoluteUri);
            }
            FormsService.SignOut();
            return RedirectToAction("Login");
        }