示例#1
0
        public async Task MultipleAuthRequests()
        {
            Principal custodian = IdTokenCustodian();
            var       a1        = custodian.Authenticate();
            var       a2        = custodian.Authenticate();
            await Task.WhenAll(a1, a2);

            Assert.AreSame(a1.Result, a2.Result);
            Assert.AreEqual(1, _tokensRequested,
                            "Parallel authentications wait for first one and reuse it results");
        }
示例#2
0
        public async Task GrantCodeFlow()
        {
            Principal custodian = GrantCodeCustodian();
            var       user      = await custodian.Authenticate();

            Assert.AreEqual("access token 1", user[OAuthApi.AccessToken]);
            Assert.AreEqual("refresh token 1", user[OAuthApi.RefreshToken]);
            Assert.AreEqual("test_grant_code", user["request_code"]);
            Assert.AreEqual("authorization_code", user["request_grant_type"]);
        }