Beispiel #1
0
        /// <summary>
        /// Illustrate recovery using a not-normal-"consumer mode" recovery agent.
        /// </summary>
        /// <param name="tokenClient">SDK client</param>
        /// <param name="alias">Alias of member to recover</param>
        /// <returns>the recovered member</returns>
        public Tokenio.Member RecoverWithComplexRule(
            TokenClient tokenClient,
            Alias alias)
        {
            var memberId = tokenClient.GetMemberId(alias).Result;

            var cryptoEngine = new TokenCryptoEngine(memberId, new InMemoryKeyStore());
            var newKey       = cryptoEngine.GenerateKey(Privileged);

            var verificationId = tokenClient.BeginRecovery(alias).Result;
            var authorization  = tokenClient.CreateRecoveryAuthorization(memberId, newKey).Result;

            var agentSignature = GetRecoveryAgentSignature(authorization);

            var mro = new MemberRecoveryOperation
            {
                AgentSignature = agentSignature,
                Authorization  = authorization
            };
            var recoveredMember = tokenClient.CompleteRecovery(
                memberId,
                new List <MemberRecoveryOperation> {
                mro
            },
                newKey,
                cryptoEngine).Result;

            recoveredMember.VerifyAlias(verificationId, "1thru6").Wait();

            return(recoveredMember);
        }
Beispiel #2
0
        /// <summary>
        /// Illustrate setting up a recovery rule more complex than "normal consumer"
        /// mode, without the "normal consumer" shortcuts.
        /// </summary>
        /// <param name="newMember">newly-created member we are setting up</param>
        /// <param name="tokenClient">SDK client</param>
        /// <param name="agentAlias"> Alias of recovery agent.</param>
        public void SetUpComplexRecoveryRule(
            Tokenio.Member newMember,
            TokenClient tokenClient,
            Alias agentAlias)
        {
            TellRecoveryAgentMemberId(newMember.MemberId());

            var agentId      = tokenClient.GetMemberId(agentAlias).Result;
            var recoveryRule = new RecoveryRule {
                PrimaryAgent = agentId
            };

            newMember.AddRecoveryRule(recoveryRule).Wait();
        }
Beispiel #3
0
        /// <summary>
        /// Recover previously-created member, assuming they were
        /// configured with a "normal consumer" recovery rule.
        /// </summary>
        /// <param name="tokenClient">SDK client</param>
        /// <param name="alias">alias of member to recoverWithDefaultRule</param>
        /// <returns>the recovered member</returns>
        public Tokenio.Member RecoverWithDefaultRule(TokenClient tokenClient, Alias alias)
        {
            var verificationId = tokenClient.BeginRecovery(alias).Result;
            var memberId       = tokenClient.GetMemberId(alias).Result;

            var recoveredMember = tokenClient.CompleteRecoveryWithDefaultRule(
                memberId,
                verificationId,
                "1thru6").Result;

            recoveredMember.VerifyAlias(verificationId, "1thru6").Wait();

            return(recoveredMember);
        }