public async Task<IActionResult> Index() {
var currentUser = await _currentUserRepository.GetCurrentUser();
var pubbleSsoKey = "IW_ACADEMY_CONFERENCE2020!@#$$%!^!";
if (currentUser != null) {
var json = Newtonsoft.Json.JsonConvert.SerializeObject(new {
email = currentUser.Email,
admin = currentUser.IsAdmin,
name = $"{currentUser.FirstName} {currentUser.LastName}",
userURL = "https://academy.infinetwireless.com/en/conference"
Int32 timestamp = (Int32)(DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1))).TotalSeconds;
var plainTextBytes = System.Text.Encoding.UTF8.GetBytes(json);
var base64EncodedStr = System.Convert.ToBase64String(plainTextBytes);
var signature = hash_hmac(base64EncodedStr + ' ' + timestamp, pubbleSsoKey);
ViewBag.SsoMessage = base64EncodedStr + ' ' + signature + ' ' + timestamp;
public static string hash_hmac(string signatureString, string secretKey)
HMACSHA1 hmac = new HMACSHA1(Encoding.UTF8.GetBytes(secretKey));
byte[] buffer = Encoding.UTF8.GetBytes(signatureString);
string result = BitConverter.ToString(hmac.ComputeHash(buffer)).Replace("-", "").ToLower();