public HrdViewModel(SignInRequestMessage message, IEnumerable <IdentityProvider> idps) { OriginalSigninUrl = message.WriteQueryString(); Providers = idps.Select(x => new HRDIdentityProvider { DisplayName = x.DisplayName, ID = x.Name }).ToArray(); }
private static void AuthenticateUser(AuthorizationContext context) { // TODO: validate/sanitize querystring input (http://msdn.microsoft.com/en-us/library/bb355989.aspx) var organizationName = (string)context.RouteData.Values["organization"]; if (!string.IsNullOrEmpty(organizationName)) { if (!IsValidTenant(organizationName)) { throw new ArgumentException(string.Format(CultureInfo.CurrentUICulture, "'{0}' is not a valid tenant.", organizationName)); } var returnUrl = GetReturnUrl(context.RequestContext); // user is not authenticated and it's entering for the first time var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm) { Context = returnUrl.ToString(), HomeRealm = RetrieveHomeRealmForTenant(organizationName) }; context.Result = new RedirectResult(signIn.WriteQueryString()); } }
private ActionResult RedirectToWSFedIdentityProvider(IdentityProvider identityProvider, SignInRequestMessage request) { var message = new SignInRequestMessage(new Uri(identityProvider.WSFederationEndpoint), ConfigurationRepository.Global.IssuerUri); SetContextCookie(request.Context, request.Realm, identityProvider.WSFederationEndpoint); return(new RedirectResult(message.WriteQueryString())); }
public ActionResult Index() { ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; SignInRequestMessage signInRequestMessage = new SignInRequestMessage(new Uri("https://andras1/idsrv/issue/wsfed"), "http://localhost:2533/"); ViewBag.StsSignInUrl = signInRequestMessage.WriteQueryString(); return View(); }
public ActionResult SignIn(string returnUrl) { var fam = FederatedAuthentication.WSFederationAuthenticationModule; fam.SignIn(Guid.NewGuid().ToString()); var signInRequestMessage = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm, returnUrl); var parameters = HmacHelper.CreateHmacRequestParametersFromConfig(Consts.PermissionHmacSettingsPrefix); parameters.ForEach(signInRequestMessage.Parameters.Add); return new RedirectResult(signInRequestMessage.WriteQueryString()); }
public ActionResult Index() { ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; SignInRequestMessage signInRequestMessage = new SignInRequestMessage(new Uri("https://andras1/idsrv/issue/wsfed"), "http://localhost:2533/"); ViewBag.StsSignInUrl = signInRequestMessage.WriteQueryString(); return(View()); }
public ActionResult SignIn() { WsFederationConfiguration config = FederatedAuthentication.FederationConfiguration.WsFederationConfiguration; string callbackUrl = Url.Action("Index", "Home", routeValues: null, protocol: Request.Url.Scheme); SignInRequestMessage signinMessage = new SignInRequestMessage(new Uri(config.Issuer), callbackUrl); signinMessage.SetParameter("wtrealm", IdentityConfig.Realm ?? config.Realm); return(new RedirectResult(signinMessage.WriteQueryString())); }
private static void AuthenticateUser(AuthorizationContext context, string realm) { // user is not authenticated and it's entering for the first time var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), realm ?? fam.Realm) { Context = "ru=" + context.HttpContext.Request.Path }; context.Result = new RedirectResult(signIn.WriteQueryString()); }
public ActionResult Login() { // Redirect to AAD for login. if (!Request.IsAuthenticated) { WSFederationAuthenticationModule WsFam = FederatedAuthentication.WSFederationAuthenticationModule; SignInRequestMessage signIn = new SignInRequestMessage(new Uri(WsFam.Issuer), WsFam.Realm, WsFam.Reply); return(new RedirectResult(signIn.WriteQueryString())); } return(new RedirectResult("/")); }
private string GetFederatedSignInRedirectUrl(string returnUrl) { WSFederationAuthenticationModule fam = FederatedAuthentication.WSFederationAuthenticationModule; var appUrl = GetAppUrl(this.HttpContext); var signInRequest = new SignInRequestMessage(new Uri(fam.Issuer), appUrl) { Context = Uri.EscapeDataString(returnUrl), Reply = string.Concat(appUrl, "Account/LogOn/") }; return(signInRequest.WriteQueryString()); }
private void RequestAuthentication(HttpContextBase httpContext, string identityProviderUrl, string realm, string replyUrl) { var signIn = new SignInRequestMessage(new Uri(identityProviderUrl), realm) { Context = replyUrl, Reply = replyUrl }; var redirectUrl = signIn.WriteQueryString(); httpContext.Response.Redirect(redirectUrl, false); httpContext.ApplicationInstance.CompleteRequest(); }
private static void AuthenticateUser(AuthorizationContext filterContext) { var organization = filterContext.RouteData.Values["organization"] as String ?? "mock.issuer.1"; var returnUrl = GetReturnUrl(filterContext.RequestContext); var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm) { Context = returnUrl.ToString(), HomeRealm = GetHomeRealm(organization) }; filterContext.Result = new RedirectResult(signIn.WriteQueryString()); }
public ActionResult Index() { ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application."; var signIn = new SignInRequestMessage( new Uri("https://mysts/wsfed"), "http://myapp"); //using below code, you can pick up some values from config, that you could provide some values dynamically. //FederatedAuthentication.FederationConfiguration.WsFederationConfiguration. ViewBag.SignInUrl = signIn.WriteQueryString(); return(View()); }
private static void AuthenticateUser(AuthorizationContext context) { var returnUrl = GetReturnUrl(context.RequestContext); // user is not authenticated and it's entering for the first time var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm) { Context = returnUrl.ToString(), Reply = returnUrl.ToString() }; context.Result = new RedirectResult(signIn.WriteQueryString()); }
public static void LogOn(string issuer = null, string realm = null, string homeRealm = null) { WSFederationAuthenticationModule fam = FederatedAuthentication.WSFederationAuthenticationModule; var signInRequest = new SignInRequestMessage(new Uri(issuer ?? fam.Issuer), realm ?? fam.Realm) { AuthenticationType = fam.AuthenticationType, Context = GetReturnUrl(), Freshness = fam.Freshness, HomeRealm = homeRealm ?? fam.HomeRealm, Reply = fam.Reply }; HttpContext.Current.Response.Redirect(signInRequest.WriteQueryString(), false); HttpContext.Current.ApplicationInstance.CompleteRequest(); }
/// <summary> /// Force RP/STS style authentication flow to begin /// </summary> /// <param name="context"></param> private static void AuthenticateUser(AuthorizationContext context) { var returnUrl = GetReturnUrl(context.RequestContext); if (!context.HttpContext.User.Identity.IsAuthenticated) { // user is not authenticated and it's entering for the first time var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm) { Reply = returnUrl.ToString() }; context.Result = new RedirectResult(signIn.WriteQueryString()); } }
public ActionResult Logon() { if (User.Identity.IsAuthenticated) { return(View("Index")); } var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm) { Context = fam.Realm }; return(Redirect(signIn.WriteQueryString())); }
private static void AuthenticateUser(AuthorizationContext context) { var socialIP = (string)context.RouteData.Values["socialip"]; if (!string.IsNullOrEmpty(socialIP)) { var fam = FederatedAuthentication.WSFederationAuthenticationModule; var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm) { Context = GetReturnUrl(context.RequestContext).ToString(), HomeRealm = SocialIdentityProviders.GetHomeRealm(socialIP) }; context.Result = new RedirectResult(signIn.WriteQueryString()); } else { throw new ArgumentException("Social identity provider not specified"); } }
private static void RequestAuthentication(HttpContextBase httpContext, string identityProviderUrl, string realm, string replyUrl) { var signIn = new SignInRequestMessage(new Uri(identityProviderUrl), realm) { Context = replyUrl, Reply = replyUrl }; var redirectUrl = signIn.WriteQueryString(); Logger.Info($"RequestAuthentication! redirectUrl: {redirectUrl}"); try { httpContext.Response.Redirect(redirectUrl, false); httpContext.ApplicationInstance.CompleteRequest(); } catch (Exception ex) when(HttpContext.Current.Response.HeadersWritten) { Logger.Error("exception while redirect to provider", ex); } }
private ActionResult RedirectToWSFedIdentityProvider(IdentityProvider identityProvider, SignInRequestMessage request) { var message = new SignInRequestMessage(new Uri(identityProvider.WSFederationEndpoint), ConfigurationRepository.Global.IssuerUri); SetContextCookie(request.Context, request.Realm, identityProvider.WSFederationEndpoint); return new RedirectResult(message.WriteQueryString()); }
public HrdViewModel(SignInRequestMessage message, IEnumerable<IdentityProvider> idps) { OriginalSigninUrl = message.WriteQueryString(); Providers = idps.Select(x => new HRDIdentityProvider {DisplayName = x.DisplayName, ID = x.Name}).ToArray(); }
private string GetFederatedSignInRedirectUrl(string returnUrl) { WSFederationAuthenticationModule fam = FederatedAuthentication.WSFederationAuthenticationModule; var appUrl = GetAppUrl(this.HttpContext); var signInRequest = new SignInRequestMessage(new Uri(fam.Issuer), appUrl) { Context = Uri.EscapeDataString(returnUrl), Reply = string.Concat(appUrl, "Account/LogOn/") }; return signInRequest.WriteQueryString(); }