////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        public virtual string GetGrantCodeUrl(bool pSwitchUser = false)
        {
            OauthLoginGetOperation        op  = (OauthLoginGetOperation)ClientOauth.Login;
            FabricRequest <FabOauthLogin> req = op.Request("code", Config.AppId + "",
                                                           OAuthRedirectUri, null, SessionId, (pSwitchUser ? "1" : "0"));

            return(Config.ApiPath + req.Path + "?" + req.Query);
        }
Exemplo n.º 2
0
        public void SetUp()
        {
            vMockData = new Mock <IOperationData>(MockBehavior.Strict);

            vMockOpCtx = new Mock <IOperationContext>(MockBehavior.Strict);
            vMockOpCtx.SetupGet(x => x.Data).Returns(vMockData.Object);

            vMockTasks = new Mock <IOauthLoginTasks>(MockBehavior.Strict);

            vClientId   = "12345";
            vRedirUri   = "http://redirect.to.this.com/test";
            vRespType   = "code";
            vSwitchMode = "0";
            vOper       = new OauthLoginGetOperation();
        }
Exemplo n.º 3
0
        ////////////////////////////////////////////////////////////////////////////////////////////////
        /*--------------------------------------------------------------------------------------------*/
        private static IApiResponse GetLogin(IApiRequest pApiReq)
        {
            string incomingError = pApiReq.GetQueryValue("error", false);

            if (incomingError != null)
            {
                string errDesc = pApiReq.GetQueryValue("error_description", false);

                return(new ApiResponse {
                    Html = new LoginErrorView(incomingError, errDesc).ToHtml()
                });
            }

            ////

            Action <IApiResponse> getResp = (apiResp => {
                string respType = pApiReq.GetQueryValue(LoginResponseTypeParam, false);
                string clientId = pApiReq.GetQueryValue(LoginClientIdParam, false);
                string redirUri = pApiReq.GetQueryValue(LoginRedirectUriParam, false);
                string switchMode = pApiReq.GetQueryValue(LoginSwitchModeParam, false);

                var op = new OauthLoginGetOperation();
                OauthLoginResult result = op.Execute(pApiReq.OpCtx, new OauthLoginTasks(),
                                                     clientId, redirUri, respType, switchMode);

                if (result.ShowLoginPage)
                {
                    apiResp.Html = new LoginPageView(result).ToHtml();
                    return;
                }

                if (result.Code != null)
                {
                    apiResp.RedirectUrl = BuildRedirectUri(result.Redirect, result.Code,
                                                           pApiReq.GetQueryValue(LoginStateParam, false));
                    return;
                }

                apiResp.Html = new LoginScopeView(result).ToHtml();
            });

            var exec = new CustomExecutor(pApiReq, getResp, OnLoginException);

            return(exec.Execute());
        }
Exemplo n.º 4
0
        /*--------------------------------------------------------------------------------------------*/
        private OauthLoginResult ExecuteOperation()
        {
            var op = new OauthLoginGetOperation();

            return(op.Execute(OpCtx, vTasks, vClientId, vRedirUri, vRespType, vSwitchMode));
        }