Example #1
0
        private async Task <ReturnDto> Auth(VerifyEnum authority, AuthorityModel model)
        {
            ReturnDto ret;
            var       authorities = _issuers["owner"].Authorities;
            string    token       = model.token;

            if (string.IsNullOrWhiteSpace(token))
            {
                token = JwtHelper.GenerateToken(new Claim[] { }, 60);
            }

            var principle = JwtHelper.GetClaimsPrincipal(token);

            if (principle?.Identity?.IsAuthenticated == true)
            {
                try {
                    var claimsIdentity = principle.Identity as ClaimsIdentity;
                    var verifyResult   = _issuers["owner"].Verify(authority, claimsIdentity.Claims.ToArray(), model.payload);

                    ret = await ResultFactory(authority, verifyResult);

                    return(ret);
                } catch (Exception exc) {
                    ret = ExceptionReturn(exc);
                    return(ret);
                }
            }
            return(TokenNotValid());
        }
Example #2
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            _se = new ServerEnum();
            foreach (string key in _se.Keys)
            {
                cbxServerType.Items.Add(key);
                txtAssembly.Text = _se[key];
            }
            if (cbxServerType.Items.Count > 0)
            {
                cbxServerType.SelectedIndex = 0;
            }


            cbxVerifyWay.Items.Add("");

            _ve = new VerifyEnum();
            foreach (string key in _ve.Keys)
            {
                cbxVerifyWay.Items.Add(key);
                //txtVerifyAssembly.Text = _ve[key];
            }
            if (cbxVerifyWay.Items.Count > 0)
            {
                cbxVerifyWay.SelectedIndex = 0;
            }


            _sm.LoadFromFile();


            ReindData();

            SyncSelRowData();
        }
Example #3
0
        public IssuerVerifyResult Verify(VerifyEnum authority, Claim[] claims, JObject payload)
        {
            var verifyAuthority = _authorities[authority];
            var verifyClaims    = verifyAuthority.OnVerify(claims, payload, _identifier, out bool valid);

            IVerifyFactory     verifyFactory;
            IssuerVerifyResult issuerVerifyResult = new IssuerVerifyResult();

            switch (authority)
            {
            case VerifyEnum.account:
                verifyFactory      = new VerifyAccountFactory().Create(_authenticator);
                issuerVerifyResult = verifyFactory.Register(_authorities, verifyClaims, _identifier, _timeouts[VerifyEnum.account]);
                break;

            case VerifyEnum.otp:
                verifyFactory      = new AuthAccountFactory().Create(_authenticator);
                issuerVerifyResult = verifyFactory.Register(_authorities, verifyClaims, _identifier, _timeouts[VerifyEnum.otp]);
                break;

            case VerifyEnum.login:
                verifyFactory      = new AuthAccountFactory().Create(_authenticator);
                issuerVerifyResult = verifyFactory.Register(_authorities, verifyClaims, _identifier, _timeouts[VerifyEnum.login]);
                break;

            case VerifyEnum.refreshToken:
                verifyFactory      = new AuthAccountFactory().Create(_authenticator);
                issuerVerifyResult = verifyFactory.Register(_authorities, verifyClaims, _identifier, _timeouts[VerifyEnum.refreshToken]);
                break;
            }
            return(issuerVerifyResult);
        }
Example #4
0
        private async Task <ReturnDto> ResultFactory(VerifyEnum authority, IssuerVerifyResult verifyResult)
        {
            ReturnDto ret = new ReturnDto();

            switch (authority)
            {
            case VerifyEnum.account:
            case VerifyEnum.refreshToken:
                ret = AccountResult(verifyResult);
                break;

            case VerifyEnum.otp:
            case VerifyEnum.login:
                ret = await OtpAndUserResult(verifyResult);

                break;
            }
            return(ret);
        }
Example #5
0
 public static TEnum Enum <TEnum>(string text) where TEnum : struct, IComparable, IFormattable, IConvertible
 {
     return(VerifyEnum <TEnum> .Parse(text));
 }
Example #6
0
 public static bool AttemptEnum <TEnum>(string text, out TEnum value) where TEnum : struct, IComparable, IFormattable, IConvertible
 {
     return(VerifyEnum <TEnum> .TryParse(text, out value));
 }
Example #7
0
 internal void Register(IAuthority authority, VerifyEnum name, int timeout)
 {
     _authorities.Add(name, authority);
     _timeouts.Add(name, timeout);
 }
 public static AuthorityIssuer Register(this AuthorityIssuer issuer, VerifyEnum name, IAuthority authority, int timeout = 60)
 {
     issuer.Register(authority, name, timeout);
     return(issuer);
 }