コード例 #1
1
ファイル: Program.cs プロジェクト: JeffHemming/DSoak_First
        static void Main(string[] args)
        {
            Brain brain = new Brain();
               // brain.doWork();
            Thread myBrainThread = new Thread(new ThreadStart(brain.doWork));
            myBrainThread.Start();

            ConsoleKeyInfo cki = new ConsoleKeyInfo();

            do
            {
                Console.WriteLine("\nPress 'x' key to logout.");
                while (Console.KeyAvailable == false)
                    Thread.Sleep(250); // Loop until input is entered.
                cki = Console.ReadKey(true);
               // Console.WriteLine("You pressed the '{0}' key.", cki.Key);
            } while (cki.Key != ConsoleKey.X);

            IPEndPoint registryEP = getEndpoint(ConfigurationManager.AppSettings["registryIP"], ConfigurationManager.AppSettings["registryPort"]);
            socket.Connect(registryEP);
            LogoutRequest lor = new LogoutRequest();
            byte[] logoutRequestMessage = lor.Encode();
            socket.Send(logoutRequestMessage, logoutRequestMessage.Length);
            Console.WriteLine("You have logged out.");
        }
コード例 #2
0
ファイル: Default.aspx.cs プロジェクト: HRINY/HRI-Umbraco
        protected void logoutButton_Click(object sender, EventArgs e)
        {
            try {
                // Create a logout request.
                LogoutRequest logoutRequest = new LogoutRequest();
                logoutRequest.Issuer = new Issuer(CreateAbsoluteURL("~/"));
                logoutRequest.NameID = new NameID(Context.User.Identity.Name);

                // Serialize the logout request to XML for transmission.
                XmlElement logoutRequestXml = logoutRequest.ToXml();

                // Send the logout request to the IdP over HTTP redirect.
                string logoutURL = WebConfigurationManager.AppSettings["idpLogoutURL"];
                X509Certificate2 x509Certificate = (X509Certificate2) Application[Global.SPX509Certificate];

                SingleLogoutService.SendLogoutRequestByHTTPRedirect(Response, logoutURL, logoutRequestXml, null, x509Certificate.PrivateKey);

                // Logout locally.
                FormsAuthentication.SignOut();
                Session.Abandon();

            }
            catch (Exception exception) {
                Trace.Write("SP", "Error on logout page", exception);
            }
        }
コード例 #3
0
 public void ValidCommand_IsValid()
 {
     var input = new LogoutRequest {
     SecurityContext = A.Dummy<ISecurityContext>()
       };
       var actualResult = _sut.Validate(input);
       Assert.That(actualResult.IsValid, Is.True);
 }
コード例 #4
0
 public void NullSecurityContext_IsInvalid()
 {
     var input = new LogoutRequest {
     SecurityContext = null
       };
       var actualResult = _sut.Validate(input);
       Assert.That(actualResult.IsValid, Is.False);
 }
コード例 #5
0
        public void LogsOutAndRedirects()
        {
            var service = new Mock<IUserAccountService>();
            var endpoint = new LogoutEndpoint(service.Object);
            var request = new LogoutRequest();

            var continuation = endpoint.Logout(request);
            service.Verify(x => x.Logout());
            continuation.AssertWasRedirectedTo<HomeRequest>();
        }
コード例 #6
0
        public ApiResult Logout(LogoutRequest request)
        {
            var sessionWasValid = SessionRepository.InvalidateSession(request.SessionId);

            return(new ApiResult
            {
                Success = true,
                ErrorMessage = (sessionWasValid ? string.Empty : "InvalidSessionId")
            });
        }
コード例 #7
0
        public async Task <bool> LogoutAsync(LogoutRequest model)
        {
            var user = await userRepository.GetByUserNameAsync(model.OwnerId, model.Username);

            var userDto = userToUserDtoHydrator.Hydrate(user);

            await cachingService.DestroyUserSession(user.OwnerId, userDto.UserName);

            return(true);
        }
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="Saml20LogoutRequest"/> class.
 /// </summary>
 public Saml20LogoutRequest()
 {
     Request = new LogoutRequest
     {
         Version      = Saml20Constants.Version,
         Id           = "id" + Guid.NewGuid().ToString("N"),
         Issuer       = new NameId(),
         IssueInstant = DateTime.Now
     };
 }
        public Task Logout(LogoutRequest data)
        {
            var flowId      = HttpContext.Items["flowId"].ToString();
            var logoutEvent = new LogoutEvent {
                Token = data.Token
            };

            publishingRouter.Publish(Queues.Users, logoutEvent, flowId);
            return(Task.CompletedTask);
        }
コード例 #10
0
        /// <summary>
        /// Logout from from the system.
        /// </summary>
        /// <returns>Success or failure flag.</returns>
        public bool Logout()
        {
            var request = new LogoutRequest().Prepare();

            var response = Client.Logout(request);

            Correlate(request, response);

            return(response.Acknowledge == AcknowledgeType.Success);
        }
コード例 #11
0
 public OidcRequest CreatePopupRequest(LogoutRequest request)
 {
     return(HandleErrors(nameof(CreatePopupRequest), () => new OidcRequest
     {
         Url = request.Url,
         Timeout = request.Parameters.OpenPopupTimeout.TotalMilliseconds,
         WindowName = request.Parameters.PopupWindowName,
         WindowFeatures = request.Parameters.PopupWindowFeatures
     }));
 }
コード例 #12
0
        public async Task <IActionResult> Logout([FromRoute] LogoutRequest request)
        {
            IActionResult result = null;

            Ensure.Guid.IsNotEmpty(request.Application);

            result = Factory.CreateSuccessResponse(await Server.Logout(request.Application));

            return(result);
        }
コード例 #13
0
        public async Task <LogoutResponse> Logout(LogoutRequest request)
        {
            var apiResult = await HttpClient.PostAsJsonAsync("api/Player/Logout", request);

            var result = await EnsureApiResult <LogoutResponse>(apiResult);

            Token = null;

            return(result);
        }
        public void BuildLoggedOutViewModelAsync_WhenSuccessfulLogout_ShowCorrectLogoutView()
        {
            //arrange
            const string logoutId    = "logoutId";
            const string iFrameUrl   = "iframeUrl";
            const string redirectUrl = "redirectUrl";

            var user = new ClaimsPrincipal(new ClaimsIdentity(new[]
            {
                new Claim(ClaimTypes.Name, "name"),
                new Claim(JwtClaimTypes.IdentityProvider, "client")
            }));

            var client = new Client
            {
                ClientId               = "clientId",
                ClientName             = "clientName",
                PostLogoutRedirectUris = new List <string> {
                    redirectUrl
                }
            };

            var logoutMessge = new LogoutMessage
            {
                ClientId   = client.ClientId,
                ClientName = client.ClientName,
                ClientIds  = new List <string>
                {
                    client.ClientId
                },
                SessionId             = "sessionId",
                SubjectId             = "subjectId",
                PostLogoutRedirectUri = redirectUrl
            };

            LogoutRequest logoutRequest = new LogoutRequest(iFrameUrl, logoutMessge);

            mockInteraction.Setup(x => x.GetLogoutContextAsync(logoutId))
            .ReturnsAsync(logoutRequest).Verifiable();

            mockAccessor.SetupGet(x => x.HttpContext.User).Returns(user).Verifiable();

            //act
            var result = CreateSut().BuildLoggedOutViewModelAsync(logoutId).Result;

            //assert
            Assert.True(result.AutomaticRedirectAfterSignOut);
            Assert.Equal(redirectUrl, result.PostLogoutRedirectUri);
            Assert.Equal(client.ClientName, result.ClientName);
            Assert.Equal(iFrameUrl, result.SignOutIframeUrl);
            Assert.Equal(logoutId, result.LogoutId);

            mockInteraction.Verify();
            mockAccessor.Verify();
        }
コード例 #15
0
        public async Task <AjaxResult <string> > Logout(LogoutRequest logoutRequest)
        {
            AjaxResult <string> ajaxResponse  = new AjaxResult <string>("退出成功");
            HttpClient          signOutClient = HttpClientFactory.CreateClient("Identityserver4Client");

            if (User?.Identity.IsAuthenticated == true)
            {
                // delete local authentication cookie
                await SignInManager.SignOutAsync();

                // raise the logout event
                await EventService.RaiseAsync(new UserLogoutSuccessEvent(User.GetSubjectId(), User.GetDisplayName()));
            }
            await HttpContext.SignOutAsync();

            string accessToken = await HttpContext.GetTokenAsync(HybridConsts.LocalApi.AuthenticationScheme, OpenIdConnectParameterNames.AccessToken);

            if (!string.IsNullOrWhiteSpace(accessToken))
            {
                var accessTokenRevocationResponse = await signOutClient.RevokeTokenAsync(new TokenRevocationRequest
                {
                    Address       = signOutClient.BaseAddress + "connect/revocation",
                    ClientId      = "mobileAppClient",
                    ClientSecret  = "mobile app secrect",
                    TokenTypeHint = OpenIdConnectParameterNames.AccessToken,
                    Token         = accessToken
                });

                if (accessTokenRevocationResponse.IsError)
                {
                    ajaxResponse.Success = false;
                    ajaxResponse.Content = accessTokenRevocationResponse.Error;
                    return(ajaxResponse);
                }
            }
            var refreshTokenRevocationResponse = await signOutClient.RevokeTokenAsync(new TokenRevocationRequest
            {
                Address       = signOutClient.BaseAddress + "connect/revocation",
                ClientId      = "mobileAppClient",
                ClientSecret  = "mobile app secrect",
                TokenTypeHint = OpenIdConnectParameterNames.RefreshToken,
                Token         = logoutRequest.RefreshToken
            });

            if (refreshTokenRevocationResponse.IsError)
            {
                ajaxResponse.Success = false;
                ajaxResponse.Error   = new ErrorInfo {
                    Message = refreshTokenRevocationResponse.Error
                };
                return(ajaxResponse);
            }

            return(ajaxResponse);
        }
コード例 #16
0
        /// <summary>
        /// Logout from from the system.
        /// </summary>
        /// <returns>Success or failure flag.</returns>
        public bool Logout()
        {
            LogoutRequest request = new LogoutRequest();
            request.RequestId = NewRequestId;
            request.ClientTag = ClientTag;
            request.AccessToken = AccessToken;

            LogoutResponse response = ActionServiceClient.Logout(request);

            return (response.Acknowledge == AcknowledgeType.Success);
        }
コード例 #17
0
        //todo: explain in comments what is going on here and how this method is related to AuthServerProvider.GrantResourceOwnerCredentials
        public LogoutResponse Logout(LogoutRequest request)
        {
            _commands.ResetPlayerActivityStatus(Username);

            Request.GetOwinContext().Authentication.SignOut(); // this doesn't remove cookies, so it's useless. :((

            return(new LogoutResponse
            {
                UserName = Username
            });
        }
コード例 #18
0
ファイル: AuthController.cs プロジェクト: ioanabirsan/CLMS
        public ActionResult <string> Logout([FromBody] LogoutRequest logoutRequest)
        {
            if (logoutRequest == null)
            {
                return(BadRequest());
            }

            _authRepository.Logout(logoutRequest);

            return(Ok());
        }
コード例 #19
0
 private IActionResult RedirectToLogoutUrl(LogoutRequest context)
 {
     if (!string.IsNullOrWhiteSpace(context.PostLogoutRedirectUri))
     {
         return(Redirect(context.PostLogoutRedirectUri));
     }
     else
     {
         return(Redirect("~/../"));
     }
 }
コード例 #20
0
        public async Task <IActionResult> Logout(LogoutRequest request)
        {
            LogoutResponse response = await _authService.LogoutAysnc(request);

            if (response.IsValid())
            {
                return(Ok(response));
            }

            return(BadRequest(response.GetErrors()));
        }
コード例 #21
0
        public async Task <IActionResult> OnPostAsync(string logoutId = null, string returnUrl = null)
        {
            if (logoutId == null)
            {
                logoutId = await _interaction.CreateLogoutContextAsync();
            }

            LogoutRequest logoutContext = await _interaction.GetLogoutContextAsync(logoutId);

            AutomaticRedirectAfterSignOut = true;
            PostLogoutRedirectUri         = logoutContext?.PostLogoutRedirectUri;
            ClientName       = string.IsNullOrEmpty(logoutContext?.ClientName) ? logoutContext?.ClientId : logoutContext?.ClientName;
            SignOutIframeUrl = logoutContext?.SignOutIFrameUrl;

            // delete the local authentication cookie
            await _signInManager.SignOutAsync();

            try
            {
                // delete reference tokens
                var subjectId = HttpContext.User.Identity.GetSubjectId();
                await _persistedGrantStore.RemoveAllAsync(subjectId, "mvc_hybrid", "reference_token");

                await _persistedGrantStore.RemoveAllAsync(subjectId, "js", "reference_token");

                await _persistedGrantStore.RemoveAllAsync(subjectId, "react", "reference_token");

                // raise the logout event
                await _events.RaiseAsync(new UserLogoutSuccessEvent(User.GetSubjectId(), User.GetDisplayName()));

                _logger.LogInformation("User logged out.");

                // set this so UI rendering sees an anonymous user
                HttpContext.User = new ClaimsPrincipal(new ClaimsIdentity());
            }
            catch (InvalidOperationException ioe)
            {
                if (ioe.Message == "sub claim is missing")
                {
                    _logger.LogWarning("Logged out user attempting to log out");
                }
                else
                {
                    throw;
                }
            }
            catch (Exception e)
            {
                _logger.LogError("Error while attempting to log user out.", e);
            }


            return(Page());
        }
コード例 #22
0
 public LogoutResponse Logout(LogoutRequest logoutRequest)
 {
     // IUserService proxy = factory.CreateChannel();
     using (new OperationContextScope((IClientChannel)proxy))
     {
         AuthenticatedUser currentLogedUser = AuthenticatedUser.Instance;
         WebOperationContext.Current.OutgoingRequest.Headers.Add("Authentication", currentLogedUser.Authentication.ToString());
         LogoutResponse response = proxy.Logout(logoutRequest);
         return(response);
     }
 }
コード例 #23
0
        public int Logout(LogoutRequest logoutRequest)
        {
            using (DemsifyEntities dataContext = new DemsifyEntities())
            {
                ObjectParameter result = new ObjectParameter("Result", typeof(int));

                dataContext.Logout(Utility.TrimString(logoutRequest.AccessToken), result);

                return(Convert.ToInt32(result.Value));
            }
        }
コード例 #24
0
ファイル: MainService.cs プロジェクト: jvinhit/wp7-travel
        public LogoutResponse Logout(LogoutRequest request)
        {
            var response = new LogoutResponse(request.RequestId);

            // Validate client tag and access token
            //if (!ValidRequest(request, response, Validate.ClientTag | Validate.AccessToken))
            //    return response;

            _userName = null;

            return(response);
        }
コード例 #25
0
        /// <summary>
        /// Logout from from the system.
        /// </summary>
        /// <returns>Success or failure flag.</returns>
        public bool Logout()
        {
            LogoutRequest request = new LogoutRequest();

            request.RequestId   = NewRequestId;
            request.ClientTag   = ClientTag;
            request.AccessToken = AccessToken;

            LogoutResponse response = ActionServiceClient.Logout(request);

            return(response.Acknowledge == AcknowledgeType.Success);
        }
コード例 #26
0
        public void DelegatesControlToAuthenticatedUserApplyer()
        {
            var securityContext = A.Fake<ISecurityContext>();
              var command = new LogoutRequest {
            SecurityContext = securityContext
              };

              _sut.Handle(command).Wait();

              A.CallTo(() => securityContext.SetAuthenticatedUser(null))
               .MustHaveHappened();
        }
コード例 #27
0
        public async Task <IActionResult> Logout([FromBody] LogoutRequest request)
        {
            var logoutData   = _mapper.Map <LogoutData>(request);
            var authResponse = await _authService.LogoutAsync(logoutData);

            if (authResponse.Success)
            {
                return(NoContent());
            }

            return(BadRequest(_mapper.Map <AuthFailedResponse>(authResponse)));
        }
コード例 #28
0
        // logout is currently not support by SFAuthenticationSession
        // https://forums.developer.apple.com/thread/91647
        private async void LogoutButton_TouchUpInside(object sender, EventArgs e)
        {
            OutputText.Text = "";

            var request = new LogoutRequest
            {
                IdTokenHint = _user.IdentityToken
            };

            _user = null;
            await _client.LogoutAsync(request);
        }
コード例 #29
0
ファイル: StartMenuPanel.cs プロジェクト: tuita520/Mech-Storm
    private void OnSwitchToSingleMode()
    {
        if (Client.Instance.Proxy.ClientState == ProxyBase.ClientStates.Matching)
        {
            Client.Instance.Proxy.CancelMatch();
        }

        LogoutRequest request = new LogoutRequest(Client.Instance.Proxy.ClientID, Client.Instance.Proxy.Username);

        Client.Instance.Proxy.SendMessage(request);
        UIManager.Instance.GetBaseUIForm <LoginPanel>().ReturnToSingleMode();
    }
コード例 #30
0
        /// <summary>
        /// This is the function to logout a user from an IDP.
        /// </summary>
        public async Task <LogoutResponse> LogoutAsync(LogoutRequest request)
        {
            var url = GetUrl("Logout", new Dictionary <string, string?>
            {
                { "apiKey", _apiKey },
                { "sessionid", request.SessionId }
            });

            var fullResponse = await GetFullResponseAndEnsureSuccess <LogoutFullResponse>(url);

            return(new LogoutResponse(fullResponse));
        }
コード例 #31
0
            public void DelegatesControlToAuthenticatedUserApplyer()
            {
                var securityContext = A.Fake <ISecurityContext>();
                var command         = new LogoutRequest {
                    SecurityContext = securityContext
                };

                _sut.Handle(command).Wait();

                A.CallTo(() => securityContext.SetAuthenticatedUser(null))
                .MustHaveHappened();
            }
コード例 #32
0
        protected void Unnamed_LoggingOut(object sender, LoginCancelEventArgs e)
        {
            Session.Clear();
            Session.Abandon();

            var    identity         = (ClaimsIdentity)HttpContext.Current.User.Identity;
            var    identityProvider = identity.FindFirst(ClaimTypes.System);
            string email            = identity.FindFirst(ClaimTypes.Name).Value;

            Context.GetOwinContext().Authentication.SignOut();

            if (identityProvider != null)
            {
                if (identityProvider.Value == AcquisitionEnum.Office365.ToString())
                {
                    LogoutRequest logoutReq = new LogoutRequest();
                    JObject       jsonObj   = ConfigService.GetCompanyConfigJsonByHostName(Request.Url.Host, Configuration.OFFICE365_CODE);
                    logoutReq.Issuer = jsonObj["appID"].ToString();
                    logoutReq.NameID = email;
                    string endPoint = jsonObj["endPoint"].ToString();


                    StringWriter  sw = new StringWriter();
                    XmlTextWriter tw = null;
                    try
                    {
                        XmlSerializer serializer = new XmlSerializer(logoutReq.GetType());
                        tw = new XmlTextWriter(sw);
                        serializer.Serialize(tw, logoutReq);
                    }
                    catch (Exception ex)
                    {
                    }
                    finally
                    {
                        sw.Close();
                        if (tw != null)
                        {
                            tw.Close();
                        }
                    }



                    Response.Redirect(string.Format("{0}?SAMLRequest={1}", endPoint, SamlUtil.EncodeRequest(sw.ToString())));
                }

                if (identityProvider.Value == AcquisitionEnum.Adfs.ToString())
                {
                }
            }
        }
コード例 #33
0
        public IHttpActionResult Logout(LogoutRequest request)
        {
            var cookie = HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName];

            if (cookie != null)
            {
                HttpContext.Current.Response.Cookies.Remove(FormsAuthentication.FormsCookieName);
                cookie.Expires = DateTime.Now.AddDays(-10);
                cookie.Value   = null;
                HttpContext.Current.Response.SetCookie(cookie);
            }
            return(Ok(new { }));
        }
コード例 #34
0
        private async void Logout_Clicked(object sender, EventArgs e)
        {
            var logoutRequest = new LogoutRequest();

            _isAuthenticated = false;

            CallApi.IsVisible = false;
            Login.IsVisible   = true;
            Logout.IsVisible  = false;

            OutputText.Text = string.Empty;
            await _client.LogoutAsync(logoutRequest);
        }
コード例 #35
0
        public async Task <IActionResult> SignOut(string logoutId)
        {
            if (!User.Identity.IsAuthenticated)
            {
                return(RedirectToAction(nameof(SignIn), new { signedOut = true }));
            }

            LogoutRequest logout = await interactionService.GetLogoutContextAsync(logoutId);

            await signInManager.SignOutAsync();

            return(Redirect("~/account/sign-in"));
        }
コード例 #36
0
        public IHttpActionResult Logout(LogoutRequest logoutRequest)
        {
            try
            {
                Database.DeleteToken(logoutRequest.token);
            }
            catch (Exception)
            {
                return(BadRequest());
            }

            return(Ok());
        }
コード例 #37
0
        async public Task <LogoutResponse> Logout(string username)
        {
            LogoutRequest request = new LogoutRequest(username);

            comm.SendRequest(request);
            LogoutResponse response = await comm.Get <LogoutResponse>();

            if (response.Success)
            {
                Permissions = new Dictionary <int, Permission>();
            }
            return(response);
        }
コード例 #38
0
ファイル: Logout.cs プロジェクト: jovijovi/kort
 public Response<bool> Logout(LogoutRequest logoutRequest)
 {
     JObject request = JObject.FromObject(logoutRequest);
     var result = Method(Functions.Logout, request, ParameterValidator.LogoutCheckRequest);  //调用 Logout 登录方法
     try
     {
         var logoutResponse = JsonConvert.DeserializeObject<Response<bool>>(result.ToString());
         return logoutResponse;
     }
     catch (Exception e)
     {
         return Response<bool>.BuildResponse(e);
     }
 }
コード例 #39
0
ファイル: SLOService.aspx.cs プロジェクト: HRINY/HRI-Umbraco
        private void ProcessLogoutRequest(LogoutRequest logoutRequest, string relayState)
        {
            Trace.Write("SP", "Processing logout request");

            // Logout locally.
            FormsAuthentication.SignOut();
            Session.Abandon();

            // Create a logout response.
            LogoutResponse logoutResponse = CreateLogoutResponse();

            // Send the logout response.
            SendLogoutResponse(ref logoutResponse);
        }
コード例 #40
0
            public void ShouldDelegateControlToInnerHandler()
            {
                var securityContext = A.Fake<ISecurityContext>();
                ConfigureSecurityContextFactory_ToReturn(securityContext);
                var expectedCommand = new LogoutRequest {
                  SecurityContext = securityContext
                };

                var response = Post();

                Assert.That(response.StatusCode, Is.EqualTo(HttpStatusCode.OK));
                A.CallTo(() => _logoutHandler
                  .Handle(A<LogoutRequest>.That.Matches(command => command.HasSamePropertyValuesAs(expectedCommand))))
                 .MustHaveHappened(Repeated.Exactly.Once);
            }
コード例 #41
0
	    public bool Logout(LogoutRequest request)
	    {
		    var session = _db.Sessions.FirstOrDefault(s => s.Id == request.SessionId);

		    if (session == null)
		    {
			    return false;
		    }

		    _db.Sessions.Remove(session);
		    var result = _db.SaveChanges();

		    if (result > 0)
		    {
			    return true;
		    }

		    return false;
	    }
コード例 #42
0
        public LogoutResponse Logout(LogoutRequest request)
        {
            var response = new LogoutResponse { CorrelationId = request.RequestId };

            if (!ValidRequest(request, response, Validate.AccessToken))
                return response;

            _accessToken = null;// Console.WriteLine("Access Token destroyed: " + _accessToken);
            _userName = null;   // Console.WriteLine("User is logged out: " + _userName);

            return response;
        }
 public FubuContinuation get_logout(LogoutRequest request)
 {
     return FubuContinuation.EndWithStatusCode(HttpStatusCode.Accepted);
 }
コード例 #44
0
 protected void lnkInitiateSSO_Click(object sender, EventArgs e)
 {
     AccountSettings accountSettings = new AccountSettings();
     LogoutRequest req = new LogoutRequest(new AppSettings(), accountSettings);
     Response.Redirect(accountSettings.idp_slo_target_url + "?SAMLRequest=" + Server.UrlEncode(req.GetRequest(LogoutRequest.LogoutRequestFormat.Base64)));
 }
コード例 #45
0
 public FubuContinuation Logout(LogoutRequest request)
 {
     _session.ClearAuthentication();
     return _logoutSuccessHandler.LoggedOut();
 }
コード例 #46
0
 public FubuContinuation Logout(LogoutRequest request)
 {
     _session.ClearAuthentication();
     return FubuContinuation.RedirectTo(new LoginRequest());
 }
コード例 #47
0
 public FubuContinuation Get(LogoutRequest request)
 {
     authContext.SignOut();
     return FubuContinuation.RedirectTo(new ScoreBoardRequest());
 }
コード例 #48
0
ファイル: ActionService.cs プロジェクト: ronymaychan/demos
        /// <summary>
        /// Logout from application service.
        /// </summary>
        /// <param name="request">Logout request message.</param>
        /// <returns>Login request message.</returns>
        public LogoutResponse Logout(LogoutRequest request)
        {
            LogoutResponse response = new LogoutResponse();
            response.CorrelationId = request.RequestId;

            // Validate client tag and access token
            if (!ValidRequest(request, response, Validate.ClientTag | Validate.AccessToken))
                return response;

            _userName = null;

            return response;
        }
コード例 #49
0
ファイル: Model.cs プロジェクト: ronymaychan/demos
        /// <summary>
        /// Logs out of the service.
        /// </summary>
        public void Logout()
        {
            LogoutRequest request = new LogoutRequest();
            request.RequestId = NewRequestId;
            request.AccessToken = AccessToken;
            request.ClientTag = ClientTag;

            LogoutResponse response = null;
            SafeProxy.DoAction<ActionServiceClient>(Service, client =>
                { response = client.Logout(request); });

            if (request.RequestId != response.CorrelationId)
                throw new ApplicationException("Logout: RequestId and CorrelationId do not match.");

            if (response.Acknowledge != AcknowledgeType.Success)
                throw new ApplicationException(response.Message);
        }
コード例 #50
0
    public LogoutResponse Logout(LogoutRequest request)
    {
        LogoutResponse response = new LogoutResponse();

        // Set correlation Id
        response.CorrelationId = request.RequestId;

        try
        {
            if (request.SecurityToken != "ABC123")
            {
                response.Acknowledge = AcknowledgeType.Failure;
                response.Message = "Invalid Security Token";
            }

            FormsAuthentication.SignOut();
        }
        catch // (Exception ex)
        {
            response.Acknowledge = AcknowledgeType.Failure;
            response.Message = "Logout request cannot be handled at this time.";
        }

        return response;
    }
コード例 #51
0
 public FubuContinuation Logout(LogoutRequest request)
 {
     _service.Logout();
     return FubuContinuation.RedirectTo<HomeRequest>();
 }
コード例 #52
0
 public void Logout(LogoutRequest logoutRequest)
 {
     SendRequest(logoutRequest.ToXML());
 }
コード例 #53
0
ファイル: Logout.cs プロジェクト: jovijovi/kort
 public IAsyncResult BeginLogout(LogoutRequest logoutRequest)
 {
     JObject request = JObject.FromObject(logoutRequest);
     return BeginMethod(Functions.Logout, request, ParameterValidator.LogoutCheckRequest, LogoutCallBackMethod);
 }
コード例 #54
0
ファイル: Player.cs プロジェクト: KendallSpackman/Player
 private void Logout()
 {
     logger.Debug("Attempting to log out.");
     LogoutRequest logoutRequest = new LogoutRequest();
     Messager.Send(logoutRequest, RegistryEndPoint);
 }
コード例 #55
0
ファイル: Program.cs プロジェクト: pwhe23/VancoApi
        private static void Main()
        {
            var cust = new
                       {
                           Id = "3",
                           Name = "Test",
                           Email = "*****@*****.**",
                           Address1 = "123 Main St",
                           City = "Charlotte",
                           State = "NC",
                           Zip = "29028",
                       };

            var card = new
                       {
                           AccountType = AccountTypes.C,
                           NameOnCard = "Test",
                           AccountNumber = "4012000033330026",
                           RoutingNumber = "123456780",
                           ExpMonth = (string)null,
                           ExpYear = (string)null,
                       };

            var trnx = new
                       {
                           Amount = 1234.56m,
                       };

            var conn = new VancoConnection(ConfigurationManager.ConnectionStrings["Vanco"].ConnectionString);

            // Login
            var loginRequest = new LoginRequest();
            var loginResponse = loginRequest.Execute(conn);
            Console.WriteLine("SessionId: " + loginResponse.SessionId);

            // Add Payment method
            var eftRequest = new EftRequest
                             {
                                 CustomerId = cust.Id,
                                 AddNewCustomer = true,
                                 Name = cust.Name,
                                 Email = cust.Email,
                                 BillingAddr1 = cust.Address1,
                                 BillingCity = cust.City,
                                 BillingState = cust.State,
                                 BillingZip = cust.Zip,
                                 AccountType = card.AccountType,
                                 NameOnCard = card.NameOnCard,
                                 AccountNumber = card.AccountNumber,
                                 RoutingNumber = card.RoutingNumber,
                                 ExpMonth = card.ExpMonth,
                                 ExpYear = card.ExpYear,
                             };
            var eftResponse = eftRequest.Execute(conn);
            Console.WriteLine("PaymentMethodRef: " + eftResponse.PaymentMethodRef);

            // Get Payment Methods
            var methodsRequest = new PaymentMethodsRequest
                          {
                              CustomerId = cust.Id,
                          };
            var methodsResponse = methodsRequest.Execute(conn);
            Console.WriteLine("PaymentMethods: " + methodsResponse.PaymentMethodCount);

            // Transaction
            var trnxRequest = new TransactionRequest
                       {
                           CustomerId = cust.Id,
                           PaymentMethodRef = methodsResponse.PaymentMethods[methodsResponse.PaymentMethods.Count - 1].PaymentMethodRef,
                           Amount = trnx.Amount,
                           FrequencyCode = Frequencies.O,
                       };
            var trnxResponse = trnxRequest.Execute(conn);
            if (!string.IsNullOrWhiteSpace(trnxResponse.ErrorList))
            {
                Console.WriteLine("Error: " + VancoConnection.GetErrorMessages(trnxResponse.ErrorList));
            }
            Console.WriteLine("TrnxId: " + trnxResponse.TransactionRef);

            // Logout
            var logout = new LogoutRequest().Execute(conn);
            Console.WriteLine("Logout: " + logout);

            Console.ReadKey();
        }