Example #1
0
        //</Snippet5>

        //<Snippet6>
        void SessionAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
        {
            System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenCreated event");
            //Store session on the server-side token cache instead writing the whole token to the cookie.
            //It may improve throughput but introduces server affinity that may affect scalability
            FederatedAuthentication.SessionAuthenticationModule.IsReferenceMode = true;
        }
Example #2
0
 void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     //Manipulate session token here, for example, changing its expiration value
     System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenCreated event");
     System.Diagnostics.Trace.WriteLine("Key valid from: " + e.SessionToken.KeyEffectiveTime);
     System.Diagnostics.Trace.WriteLine("Key expires on: " + e.SessionToken.KeyExpirationTime);
     e.SessionToken.IsReferenceMode = true;
 }
Example #3
0
        private bool HandleResponseMessage()
        {
            try
            {
                var responseMessage = FederationAuthenticationModule.GetSignInResponseMessage(new HttpRequestWrapper(this.Context.Request));
                if (responseMessage != null)
                {
                    string xmlTokenFromMessage = this.FederationAuthenticationModule.GetXmlTokenFromMessage(responseMessage, null);

                    FederationConfiguration serviceConfiguration = this.FederationAuthenticationModule.FederationConfiguration;
                    //ServiceConfiguration serviceConfiguration       = CUFSSecurityTokenServiceConfiguration.Current;
                    FederationPassiveTokenReceiver tokenReceiver = new FederationPassiveTokenReceiver(serviceConfiguration);
                    SecurityToken securityToken = tokenReceiver.ReadToken(xmlTokenFromMessage);

                    SecurityTokenReceivedEventArgs securityTokenReceivedEventArgs = new SecurityTokenReceivedEventArgs(securityToken);
                    this.OnSecurityTokenReceived(securityTokenReceivedEventArgs);

                    if (!securityTokenReceivedEventArgs.Cancel)
                    {
                        ClaimsPrincipal claimsPrincipal = tokenReceiver.AuthenticateToken(securityTokenReceivedEventArgs.SecurityToken, true, HttpContext.Current.Request.RawUrl);
                        if (claimsPrincipal != null)
                        {
                            SecurityTokenValidatedEventArgs securityTokenValidatedEventArgs = new SecurityTokenValidatedEventArgs(claimsPrincipal);
                            this.OnSecurityTokenValidated(securityTokenValidatedEventArgs);
                            if (!securityTokenValidatedEventArgs.Cancel)
                            {
                                SessionAuthenticationModule current = FederatedAuthentication.SessionAuthenticationModule;

                                DateTime validFrom;
                                DateTime validTo;

                                tokenReceiver.ComputeSessionTokenLifeTime(securityTokenReceivedEventArgs.SecurityToken, out validFrom, out validTo);
                                SessionSecurityToken sessionToken = current.CreateSessionSecurityToken(securityTokenValidatedEventArgs.ClaimsPrincipal, this.GetSessionTokenContext(), validFrom, validTo, false);

                                SessionSecurityTokenCreatedEventArgs sessionSecurityTokenCreatedEventArgs = new SessionSecurityTokenCreatedEventArgs(sessionToken);
                                sessionSecurityTokenCreatedEventArgs.WriteSessionCookie = true;

                                this.OnSessionSecurityTokenCreated(sessionSecurityTokenCreatedEventArgs);

                                this.FederationAuthenticationModule.SetPrincipalAndWriteSessionToken(sessionSecurityTokenCreatedEventArgs.SessionToken, sessionSecurityTokenCreatedEventArgs.WriteSessionCookie);

                                this.OnSignedIn(EventArgs.Empty);

                                return(true);
                            }
                        }
                    }
                }

                return(false);
            }
            catch (Exception ex)
            {
                this.ErrorText = ex.Message;
                return(false);
            }
        }
Example #4
0
        protected virtual void OnSessionSecurityTokenCreated(SessionSecurityTokenCreatedEventArgs e)
        {
            EventHandler <SessionSecurityTokenCreatedEventArgs> eventHandler = (EventHandler <SessionSecurityTokenCreatedEventArgs>) this.events[EventSessionSecurityTokenCreated];

            if (eventHandler != null)
            {
                eventHandler(this, e);
            }
        }
Example #5
0
        /// <summary>
        /// Module Event Hanlder.
        /// Handles the SessionSecurityTokenCreated event of the WSFederationAuthenticationModule control.
        /// See 'Programming WIF', p.74 for more details.
        /// </summary>
        void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
        {
            var identity = (IClaimsIdentity)e.SessionToken.ClaimsPrincipal.Identity;

            var userClaim = new Claim(ClaimTypes.UserData, "local per-session userdata (injected once)", ClaimValueTypes.String, "(local)");
            identity.Claims.Add(userClaim);

            Claim nameIdentifierClaim = identity.Claims.FirstOrDefault(c => c.ClaimType == ClaimTypes.NameIdentifier);
            User user;
            if (UserRepository.Instance.TryGetUser(nameIdentifierClaim.Value, out user))
            {
                identity.Label = user.Name;
            }
        }
 void SessionAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     throw new NotImplementedException();
 }
Example #7
0
 protected void SessionAuthenticationModule_SessionSecurityTokenCreated( object sender, SessionSecurityTokenCreatedEventArgs e )
 {
 }
Example #8
0
 void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenCreated event");
 }
Example #9
0
 protected void WSFederationAuthenticationModule_SessionSecurityTokenCreated( object sender, SessionSecurityTokenCreatedEventArgs e )
 {
     // IsSessionMode true has the effect of ensuring that the SessionSecurityToken remains in the cache for the whole
     // duration of the session and generating a cookie which contains just a session identifier rather than the content of the session itself.
     // http://blogs.msdn.com/b/vbertocci/archive/2010/05/26/your-fedauth-cookies-on-a-diet-issessionmode-true.aspx
     FederatedAuthentication.SessionAuthenticationModule.IsSessionMode = true;
 }
Example #10
0
 private void WSFederationAuthenticationModule_SecurityTokenCreated( object sender, SessionSecurityTokenCreatedEventArgs e )
 {
 }
Example #11
0
 protected void SessionAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
 }
Example #12
0
 //γυρίζει το WSFederation σε Reference mode
 void WSFederationAuthenticationModule_SessionSecurityTokenCreated
     (object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     e.SessionToken.IsReferenceMode = true;
 }
Example #13
0
 protected void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     // IsSessionMode true has the effect of ensuring that the SessionSecurityToken remains in the cache for the whole
     // duration of the session and generating a cookie which contains just a session identifier rather than the content of the session itself.
     // http://blogs.msdn.com/b/vbertocci/archive/2010/05/26/your-fedauth-cookies-on-a-diet-issessionmode-true.aspx
     FederatedAuthentication.SessionAuthenticationModule.IsSessionMode = true;
 }
Example #14
0
 private void WSFederationAuthenticationModule_SecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
 }
Example #15
0
        protected void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
        {
#if DEBUG
            e.SessionToken.IsPersistent = false;
#endif
            e.SessionToken.IsReferenceMode = true;
        }
Example #16
0
 private void CustomAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     Debug.WriteLine("SessionSecurityTokenCreated. SessionSecurityToken: " + e.SessionToken.Id + " KeyExpirationTime:" + e.SessionToken.KeyExpirationTime);
 }
 private void CustomAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     Debug.WriteLine("SessionSecurityTokenCreated. SessionSecurityToken: " + e.SessionToken.Id + " KeyExpirationTime:" + e.SessionToken.KeyExpirationTime);
 }
        private bool HandleResponseMessage()
        {
            try
            {
                var responseMessage = FederationAuthenticationModule.GetSignInResponseMessage( new HttpRequestWrapper( this.Context.Request ) );
                if ( responseMessage != null )
                {
                    string xmlTokenFromMessage = this.FederationAuthenticationModule.GetXmlTokenFromMessage( responseMessage, null );

                    FederationConfiguration serviceConfiguration = this.FederationAuthenticationModule.FederationConfiguration;
                    //ServiceConfiguration serviceConfiguration       = CUFSSecurityTokenServiceConfiguration.Current;
                    FederationPassiveTokenReceiver tokenReceiver = new FederationPassiveTokenReceiver( serviceConfiguration );
                    SecurityToken securityToken = tokenReceiver.ReadToken( xmlTokenFromMessage );

                    SecurityTokenReceivedEventArgs securityTokenReceivedEventArgs = new SecurityTokenReceivedEventArgs( securityToken );
                    this.OnSecurityTokenReceived( securityTokenReceivedEventArgs );

                    if ( !securityTokenReceivedEventArgs.Cancel )
                    {
                        ClaimsPrincipal claimsPrincipal = tokenReceiver.AuthenticateToken( securityTokenReceivedEventArgs.SecurityToken, true, HttpContext.Current.Request.RawUrl );
                        if ( claimsPrincipal != null )
                        {
                            SecurityTokenValidatedEventArgs securityTokenValidatedEventArgs = new SecurityTokenValidatedEventArgs( claimsPrincipal );
                            this.OnSecurityTokenValidated( securityTokenValidatedEventArgs );
                            if ( !securityTokenValidatedEventArgs.Cancel )
                            {
                                SessionAuthenticationModule current = FederatedAuthentication.SessionAuthenticationModule;

                                DateTime validFrom;
                                DateTime validTo;

                                tokenReceiver.ComputeSessionTokenLifeTime( securityTokenReceivedEventArgs.SecurityToken, out validFrom, out validTo );
                                SessionSecurityToken sessionToken = current.CreateSessionSecurityToken( securityTokenValidatedEventArgs.ClaimsPrincipal, this.GetSessionTokenContext(), validFrom, validTo, false );

                                SessionSecurityTokenCreatedEventArgs sessionSecurityTokenCreatedEventArgs = new SessionSecurityTokenCreatedEventArgs( sessionToken );
                                sessionSecurityTokenCreatedEventArgs.WriteSessionCookie = true;

                                this.OnSessionSecurityTokenCreated( sessionSecurityTokenCreatedEventArgs );

                                this.FederationAuthenticationModule.SetPrincipalAndWriteSessionToken( sessionSecurityTokenCreatedEventArgs.SessionToken, sessionSecurityTokenCreatedEventArgs.WriteSessionCookie );

                                this.OnSignedIn( EventArgs.Empty );

                                return true;
                            }
                        }
                    }
                }

                return false;
            }
            catch ( Exception ex )
            {
                this.ErrorText = ex.Message;
                return false;
            }
        }
 protected virtual void OnSessionSecurityTokenCreated( SessionSecurityTokenCreatedEventArgs e )
 {
     EventHandler<SessionSecurityTokenCreatedEventArgs> eventHandler = (EventHandler<SessionSecurityTokenCreatedEventArgs>)this.events[EventSessionSecurityTokenCreated];
     if ( eventHandler != null )
     {
         eventHandler( this, e );
     }
 }
 void SessionAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     throw new NotImplementedException();
 }
        private void CustomAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
        {
            var auth  = (CustomWSFederationAuthenticationModule)sender;
            var token = (System.IdentityModel.Tokens.SessionSecurityToken)e.SessionToken;

            Debug.WriteLine("SessionSecurityTokenCreated. TokenId:" + token.Id + " KeyExpirationTime:" + token.KeyExpirationTime);
        }
Example #22
0
        //</Snippet3>

        //<Snippet4>
        void WSFederationAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
        {
            //Manipulate session token here, for example, changing its expiration value
            System.Diagnostics.Trace.WriteLine("Handling SessionSecurityTokenCreated event");
            System.Diagnostics.Trace.WriteLine("Key valid from: " + e.SessionToken.KeyEffectiveTime);
            System.Diagnostics.Trace.WriteLine("Key expires on: " + e.SessionToken.KeyExpirationTime);
        }
 private void CustomAuthenticationModule_SessionSecurityTokenCreated(object sender, SessionSecurityTokenCreatedEventArgs e)
 {
     var auth = (CustomWSFederationAuthenticationModule)sender;
     var token = (System.IdentityModel.Tokens.SessionSecurityToken) e.SessionToken;
     Debug.WriteLine("SessionSecurityTokenCreated. TokenId:" + token.Id + " KeyExpirationTime:" + token.KeyExpirationTime);
 }