Blaze.Controllers.OAuthService.RefreshTokens C# (CSharp) Method

RefreshTokens() public method

public RefreshTokens ( string refreshToken ) : LaunchpadTokens
refreshToken string
return LaunchpadTokens
        public LaunchpadTokens RefreshTokens(string refreshToken)
        {
            var request = new RestRequest("/authorization/token", Method.POST);
            request.AddParameter("client_id", clientId);
            request.AddParameter("type", "refresh");
            request.AddParameter("client_secret", clientSecret);
            request.AddParameter("redirect_uri", GetRedirectUri());
            request.AddParameter("refresh_token", refreshToken);
            var client = new RestClient(LaunchpadBaseUrl);
            var reply = client.Execute<LaunchpadTokens>(request);
            return reply.Data;
        }

Usage Example

Example #1
0
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            var    req = filterContext.RequestContext.HttpContext.Request;
            var    accessTokenCookie = req.Cookies["BlazeAT"];
            string accessToken       = null;

            if (accessTokenCookie == null)
            {
                var refreshTokenCookie = req.Cookies["BlazeRT"];
                if (refreshTokenCookie != null && !string.IsNullOrEmpty(refreshTokenCookie.Value))
                {
                    log.Info("Attempting to refresh oauth token");
                    try
                    {
                        var tokens = oAuthService.RefreshTokens(refreshTokenCookie.Value);
                        tokens.RefreshToken = refreshTokenCookie.Value;
                        oAuthService.AssignCookies(tokens, filterContext.RequestContext.HttpContext.Response);
                        accessToken = tokens.AccessToken;
                    } catch (Exception ex)
                    {
                        log.ErrorException("Error refreshing oauth token using value: " + refreshTokenCookie.Value, ex);
                        filterContext.Result = new RedirectResult(oAuthService.GetLoginUrl());
                    }
                }
                else
                {
                    if (Required)
                    {
                        filterContext.Result = new RedirectResult(oAuthService.GetLoginUrl());
                    }
                }
            }
            else
            {
                accessToken = accessTokenCookie.Value;
            }

            if (filterContext.ActionParameters.ContainsKey("auth"))
            {
                filterContext.ActionParameters["auth"] = accessToken;
            }
        }