public async Task <ActionResult> Endpoint(String code, String error, String state)
        {
            if (error != null || code == null)
            {
                return(Redirect("/"));
            }

            if (!Session["state"].Equals(state))
            {
                return(Redirect("/"));
            }

            System.Net.ServicePointManager.Expect100Continue = false;

            ReniecIdaasClient oReniecClient = getClient();
            TokenResponse     tokenResponse = await oReniecClient.getTokens(code);

            if (tokenResponse == null)
            {
                return(Redirect("/"));
            }

            User oUser = await oReniecClient.getUserInfo(tokenResponse.accessToken);

            if (oUser == null)
            {
                return(Redirect("/"));
            }

            Session["oUser"] = oUser;

            return(Redirect("/home"));
        }
Esempio n. 2
0
        public ActionResult Logout()
        {
            ReniecIdaasClient oReniecClient = getClient();
            String            uriLogout     = oReniecClient.getLogoutUri(baseUrl);

            return(Redirect(uriLogout));
        }
        public ActionResult Index()
        {
            ReniecIdaasClient oReniecClient = getClient();

            Session["state"] = oReniecClient.state;

            ViewData["url"] = oReniecClient.getLoginUrl();

            return(View());
        }
        protected ReniecIdaasClient getClient()
        {
            String            jsonConfig    = Server.MapPath("~/App_Data/reniec_idaas.json");
            ReniecIdaasClient oReniecClient = new ReniecIdaasClient(jsonConfig);

            oReniecClient.acr = Constants.ACR_PKI_DNIE;
            oReniecClient.lstScopes.Add(Constants.SCOPE_PROFILE);
            oReniecClient.redirectUri = baseUrl + "/auth-endpoint";
            oReniecClient.state       = RandomString(10);

            return(oReniecClient);
        }