Ejemplo n.º 1
0
        private static string GetAbsoluteRedirectUri()
        {
            Uri redirectUri;

            Uri.TryCreate(SalesforceService.GetAppSetting("Salesforce:RedirectUri"), UriKind.RelativeOrAbsolute, out redirectUri);
            if (redirectUri.IsAbsoluteUri)
            {
                return(redirectUri.ToString());
            }
            else
            {
                string uriAuthority = HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Authority);
                return(new Uri(new Uri(uriAuthority), redirectUri).ToString());
            }
        }
Ejemplo n.º 2
0
        public override async Task ProcessRequestAsync(HttpContext context)
        {
            AuthenticationClient authenticationClient = new AuthenticationClient();

            // Get the access and refresh tokens from the Salesforce authorization server, and store them
            // on the session object.
            await authenticationClient.WebServerAsync(
                SalesforceService.GetAppSetting("Salesforce:ConsumerKey"),
                SalesforceService.GetAppSetting("Salesforce:ConsumerSecret"),
                SalesforceOAuthRedirectHandler.GetAbsoluteRedirectUri(),
                context.Request.QueryString["code"],
                context.Request.Url.PathAndQuery,
                "common-libraries-dotnet",
                SalesforceService.GetAppSetting("Salesforce:Domain") + "/services/oauth2/token");

            context.Session["AccessToken"]  = authenticationClient.AccessToken;
            context.Session["RefreshToken"] = authenticationClient.RefreshToken;
            context.Session["InstanceUrl"]  = authenticationClient.InstanceUrl;

            context.Response.Redirect(HttpUtility.ParseQueryString(context.Request.Url.Query).Get("state"), false);
        }