Exemple #1
0
        protected virtual void ProcessReturnUrl()
        {
            string returnUrl = SamlHelpers.GetCookieReturnUrl();

            SamlHelpers.ClearCookieReturnUrl();

            if (string.IsNullOrEmpty(returnUrl))
            {
                returnUrl = _coreUrlsApi.Home();
            }

            if (!string.IsNullOrEmpty(returnUrl) && SamlHelpers.IsPathOnSameServer(returnUrl, HttpContext.Current.Request.Url))
            {
                HttpContext.Current.Response.Redirect(returnUrl, true);
            }

            HttpContext.Current.Response.Redirect(_coreUrlsApi.Home(), true);
        }
Exemple #2
0
        public static SamlTokenData GetSamlTokenStoreData(int userId)
        {
            try
            {
                using (var myConnection = GetSqlConnection())
                {
                    var sql =
                        $@"SELECT top 1 SamlOAuthData FROM [{databaseOwner}].[db_SamlTokenStore] WHERE UserId = @userId ORDER BY ResponseDate Desc";

                    var myCommand = new SqlCommand(sql, myConnection)
                    {
                        CommandType = CommandType.Text
                    };

                    myCommand.Parameters.Add("@userId", SqlDbType.Int).Value = userId;


                    // Execute the command
                    myConnection.Open();
                    var scalar = myCommand.ExecuteScalar();

                    if (scalar == null)
                    {
                        return(null);
                    }

                    var oAuthData = SamlHelpers.Deserialize <SamlTokenData>(scalar.ToString());

                    return(oAuthData);
                }
            }
            catch (Exception ex)
            {
                Apis.Get <IEventLog>().Write("Error reading from db_SamlTokenStore; I dont think its installed. " + ex,
                                             new EventLogEntryWriteOptions {
                    Category = "SAML", EventId = 6011, EventType = "Error"
                });
            }

            return(null);
        }
Exemple #3
0
        public static List <SamlTokenData> GetSamlTokenData(string nameId)
        {
            try
            {
                using (var myConnection = GetSqlConnection())
                {
                    var sql =
                        $@"SELECT SamlOAuthData FROM [{databaseOwner}].[db_SamlTokenStore] WHERE ClientId = @nameId";

                    var myCommand = new SqlCommand(sql, myConnection)
                    {
                        CommandType = CommandType.Text
                    };

                    myCommand.Parameters.Add("@nameId", SqlDbType.NVarChar).Value = nameId;

                    var oAuthDatas = new List <SamlTokenData>();
                    // Execute the command
                    myConnection.Open();
                    using (var dr = myCommand.ExecuteReader())
                    {
                        while (dr.Read())
                        {
                            oAuthDatas.Add(SamlHelpers.Deserialize <SamlTokenData>(dr[0].ToString()));
                        }
                    }

                    return(oAuthDatas);
                }
            }
            catch (Exception ex)
            {
                Apis.Get <IEventLog>().Write("Error reading from db_SamlTokenStore. " + ex,
                                             new EventLogEntryWriteOptions {
                    Category = "SAML", EventId = 6012, EventType = "Error"
                });
            }

            return(null);
        }
Exemple #4
0
        private static void UpdateSamlToken(SamlTokenData oAuthData)
        {
            var oAuthDataXml = SamlHelpers.ConvertToString(oAuthData);

            UpdateSamlToken(oAuthData.UserId, oAuthDataXml, oAuthData.ResponseDate, oAuthData.Email, oAuthData.NameId);
        }