コード例 #1
0
        public async Task <SafeTokenRawResult> PostRevocationAsync()
        {
            /*
             * TokenTypHint: [refresh_token,subject,access_token]
             */
            var arbResourceOwnerResult = await PostRefreshAsync();

            var revocationRequest = new RevocationRequest()
            {
                Token             = arbResourceOwnerResult.TokenResult.Response.RefreshToken,
                ClientId          = "arbitrary-resource-owner-client",
                TokenTypHint      = "refresh_token",
                RevokeAllSubjects = "true"
            };
            var revocationResult = await _tokenEndpointHandlerExtra.ProcessRawAsync(revocationRequest);

            var refreshTokenRequest = new RefreshTokenRequest()
            {
                RefreshToken = arbResourceOwnerResult.TokenResult.Response.RefreshToken,
                ClientId     = "arbitrary-resource-owner-client"
            };
            var result = await _tokenEndpointHandlerExtra.ProcessRawAsync(refreshTokenRequest);

            var safeResult = new SafeTokenRawResult();

            if (result.TokenErrorResult != null)
            {
                safeResult.TokenErrorResult = new SafeTokenErrorResult()
                {
                    Response = result.TokenErrorResult.Response
                };
            }

            safeResult.TokenResult = result.TokenResult;
            return(safeResult);
        }
コード例 #2
0
        public async Task <SafeTokenRawResult> PostRefreshAsync()
        {
            var arbResourceOwnerResult = await PostArbitraryResourceOwnerAsync();

            var refreshTokenRequest = new RefreshTokenRequest()
            {
                RefreshToken = arbResourceOwnerResult.TokenResult.Response.RefreshToken,
                ClientId     = "arbitrary-resource-owner-client"
            };
            var result = await _tokenEndpointHandlerExtra.ProcessRawAsync(refreshTokenRequest);

            var safeResult = new SafeTokenRawResult();

            if (result.TokenErrorResult != null)
            {
                safeResult.TokenErrorResult = new SafeTokenErrorResult()
                {
                    Response = result.TokenErrorResult.Response
                };
            }

            safeResult.TokenResult = result.TokenResult;
            return(safeResult);
        }
コード例 #3
0
        public async Task <SafeTokenRawResult> PostArbitraryIdentityAsync()
        {
            _logger.LogInformation("Summary Executing...");
            var extensionGrantRequest = new ArbitraryIdentityRequest()
            {
                ClientId = "arbitrary-resource-owner-client",
                Scopes   = new List <string>()
                {
                    "offline_access", "metal", "nitro", "In", "Flames"
                },
                Subject         = "PorkyPig",
                ArbitraryClaims = new Dictionary <string, List <string> >()
                {
                    { "top", new List <string>()
                      {
                          "dog"
                      } },
                    { "role", new List <string>()
                      {
                          "application", "limited"
                      } },
                    { "query", new List <string>()
                      {
                          "dashboard", "licensing"
                      } },
                    { "seatId", new List <string>()
                      {
                          "2368d213-d06c-4c2a-a099-11c34adc357"
                      } },
                    { "piid", new List <string>()
                      {
                          "2368d213-1111-4c2a-a099-11c34adc3579"
                      } }
                },
                AccessTokenLifetime = "3600",
                ArbitraryAmrs       = new List <string>()
                {
                    "agent:username:[email protected]",
                    "agent:challenge:fullSSN",
                    "agent:challenge:homeZip"
                },
                ArbitraryAudiences = new List <string>()
                {
                    "cat", "dog"
                },
                CustomPayload = new CustomPayload()
            };
            var result = await _tokenEndpointHandlerExtra.ProcessRawAsync(extensionGrantRequest);

            var a = await _selfValidator.ValidateTokenAsync(result.TokenResult.Response.IdentityToken);

            var safeResult = new SafeTokenRawResult();

            if (result.TokenErrorResult != null)
            {
                safeResult.TokenErrorResult = new SafeTokenErrorResult()
                {
                    Response = result.TokenErrorResult.Response
                };
            }

            safeResult.TokenResult = result.TokenResult;
            return(safeResult);
        }