示例#1
0
            static void GetTokensCallback(IAsyncResult result)
            {
                if (result.CompletedSynchronously)
                {
                    return;
                }
                CreateSspiStateAsyncResult typedResult = (CreateSspiStateAsyncResult)result.AsyncState;

                try
                {
                    SecurityToken     token       = typedResult.tlsTokenProvider.ClientTokenProvider.EndGetToken(result);
                    X509SecurityToken clientToken = TlsnegoTokenProvider.ValidateToken(token);
                    typedResult.sspiState = typedResult.tlsTokenProvider.CreateTlsSspiState(clientToken);
                    typedResult.Complete(false);
                }
                catch (Exception e)
                {
                    if (Fx.IsFatal(e))
                    {
                        throw;
                    }

                    typedResult.Complete(false, e);
                }
            }
 protected override SspiNegotiationTokenProviderState EndCreateNegotiationState(IAsyncResult result)
 {
     if (result is CompletedAsyncResult <SspiNegotiationTokenProviderState> )
     {
         return(CompletedAsyncResult <SspiNegotiationTokenProviderState> .End(result));
     }
     return(CreateSspiStateAsyncResult.End(result));
 }
示例#3
0
            public static SspiNegotiationTokenProviderState End(IAsyncResult result)
            {
                CreateSspiStateAsyncResult asyncResult = AsyncResult.End <CreateSspiStateAsyncResult>(result);

                return(asyncResult.sspiState);
            }