コード例 #1
0
        public ActionResult OkCallback()
        {
            Dictionary <string, string> parameters = Request.Params.ToDictionary();

            if (parameters.ContainsKey("error"))
            {
                return(RedirectToAction("Index", "Home"));
            }

            // Create request message
            string portalUri = _settings.PortalUri;
            var    signInUri = new UriBuilder(portalUri)
            {
                Path = (Url.Action("ok") ?? string.Empty).ToLowerInvariant()
            };

            IIdentityProvider identityProvider = _identityFactory.CreateIdentityProvider(ProviderType.Odnoklassniki);
            string            result;

            try
            {
                result = identityProvider.GetResponseHtml(parameters, signInUri.Uri);
            }
            catch (Exception e)
            {
                Trace.TraceError("Failed to create html response for ok: {0}", e);
                return(RedirectToAction("Index", "Home"));
            }

            return(new HtmlResult(result));
        }