Opc.Ua.UserIdentity.Initialize C# (CSharp) Method

Initialize() private method

Initializes the object with a .NET security token
private Initialize ( System.IdentityModel.Tokens.SecurityToken token ) : void
token System.IdentityModel.Tokens.SecurityToken
return void
        private void Initialize(SecurityToken token)
        {                        
            if (token == null) throw new ArgumentNullException("token");

            m_token = token;

            UserNameSecurityToken usernameToken = token as UserNameSecurityToken;

            if (usernameToken != null)
            {
                m_displayName     = usernameToken.UserName;
                m_tokenType       = UserTokenType.UserName;
                m_issuedTokenType = null; 
                return;
            }
            
            X509SecurityToken x509Token = token as X509SecurityToken;

            if (x509Token != null)
            {
                m_displayName     = x509Token.Certificate.Subject;
                m_tokenType       = UserTokenType.Certificate;
                m_issuedTokenType = null; 
                return;
            }
            
            KerberosReceiverSecurityToken kerberosToken1 = token as KerberosReceiverSecurityToken;

            if (kerberosToken1 != null)
            {
                m_displayName     = kerberosToken1.WindowsIdentity.Name;
                m_tokenType       = UserTokenType.IssuedToken;
                m_issuedTokenType = new XmlQualifiedName("", "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1"); 
                return;
            }
            
            KerberosRequestorSecurityToken kerberosToken2 = token as KerberosRequestorSecurityToken;

            if (kerberosToken2 != null)
            {
                m_displayName     = kerberosToken2.ServicePrincipalName;
                m_tokenType       = UserTokenType.IssuedToken;
                m_issuedTokenType = new XmlQualifiedName("", "http://docs.oasis-open.org/wss/oasis-wss-kerberos-token-profile-1.1"); 
                return;
            }

            SamlSecurityToken samlToken = token as SamlSecurityToken;

            if (samlToken != null)
            {
                m_displayName = "SAML";

                // find the subject of the SAML assertion.
                foreach (SamlStatement statement in samlToken.Assertion.Statements)
                {
                    SamlAttributeStatement attribute = statement as SamlAttributeStatement;

                    if (attribute != null)
                    {
                        m_displayName = attribute.SamlSubject.Name;
                        break;
                    }
                }

                m_tokenType = UserTokenType.IssuedToken;
                m_issuedTokenType = new XmlQualifiedName("", "urn:oasis:names:tc:SAML:1.0:assertion"); 
                return;
            }
            
            m_displayName = UserTokenType.IssuedToken.ToString();
            m_tokenType   = UserTokenType.IssuedToken;
        }

Same methods

UserIdentity::Initialize ( CertificateIdentifier certificateId ) : void
UserIdentity::Initialize ( IssuedIdentityToken token, System.IdentityModel.Selectors.SecurityTokenSerializer serializer, System.IdentityModel.Selectors.SecurityTokenResolver resolver ) : void
UserIdentity::Initialize ( UserIdentityToken token ) : void
UserIdentity::Initialize ( X509Certificate2 certificate ) : void
UserIdentity::Initialize ( string username, string password ) : void