public static ServerWithAuthorizationCode FromXElement(XElement element)
        {
            if (element.Attribute("type").Value != "AuthorizationCode")
            {
                throw new InvalidTypeException("AuthorizationCode", element.Attribute("type").Value, element);
            }
            var server = new ServerWithAuthorizationCode(
                element.Element("ClientId").Value,
                element.Element("ClientSharedSecret").Value,
                new Uri(element.Element("AuthorizationUri").Value),
                new Uri(element.Element("AccessTokenUri").Value),
                new Uri(element.Element("RedirectionUri").Value));

            if (element.Element("Guid") != null)
            {
                server.Guid = new Guid(element.Element("Guid").Value);
            }

            var scopesElement = element.Element("Scopes");

            if (scopesElement != null)
            {
                foreach (var scopeElement in scopesElement.Elements("Scope"))
                {
                    server.Scopes.Add(scopeElement.Value);
                }
            }

            return(server);
        }
        public HttpWebRequest GetSignedRequestFor(ServerWithAuthorizationCode server, String location)
        {
            var token = Tokens.GetToken(server, this);

            if (token.AccessToken == "" || token.Expires < DateTime.Now)
            {
                if (token.AuthorizationCode == "")
                {
                    throw new NoAuthorizationCodeException(server, this);
                }
                else
                {
                    token.GetAccessAndRefreshToken();
                }
            }

            var uriForTest = new Uri(location);

            if (uriForTest.Query != "")
            {
                location += "&";
            }
            else
            {
                location += "?";
            }

            location += "access_token=" + token.AccessToken;

            var webRequest = (HttpWebRequest)WebRequest.Create(location);

            return(webRequest);
        }
Example #3
0
        internal static Token GetToken(ServerWithAuthorizationCode server, ResourceOwner resourceOwner)
        {
            GetTokensInstance();
            var token =
                _tokens.FirstOrDefault(t => (t.Server.Guid == server.Guid && t.ResourceOwner.Name == resourceOwner.Name));

            if (token == null)
            {
                token = new Token(server, resourceOwner);
                _tokens.Add(token);
            }
            return(token);
        }
        private void CmdServerCreateClick(object sender, EventArgs e)
        {
            var scopes = txtScope.Text.Split(',');
            var scopeList = scopes.Select(scope => scope.Trim()).ToList();

            _server = ServersWithAuthorizationCode.Add(txtServerClientId.Text,
                                                       txtClientSharedSecret.Text,
                                                       new Uri(txtServerAuthorizationUri.Text),
                                                       new Uri(txtServerAccessUri.Text),
                                                       new Uri(txtServerRedirectionUri.Text),
                                                       scopeList);
            _server.Version = (Server.OAuthVersion)Enum.Parse(typeof(Server.OAuthVersion), cbVersion.Text);
            lblServerGUID.Text = _server.Guid.ToString();
        }
Example #5
0
        public HttpWebRequest GetSignedRequestFor(ServerWithAuthorizationCode server, String location)
        {
            var token = Tokens.GetToken(server, this);
            if (token.AccessToken == "" || token.Expires < DateTime.Now)
                if (token.AuthorizationCode == "")
                    throw new NoAuthorizationCodeException(server, this);
                else
                    token.GetAccessAndRefreshToken();

            var uriForTest = new Uri(location);
            if (uriForTest.Query != "")
                location += "&";
            else
                location += "?";

            location += "access_token=" + token.AccessToken;

            var webRequest = (HttpWebRequest)WebRequest.Create(location);
            return webRequest;
        }
        public static ServerWithAuthorizationCode FromXElement(XElement element)
        {
            if (element.Attribute("type").Value != "AuthorizationCode")
                throw new InvalidTypeException("AuthorizationCode", element.Attribute("type").Value, element);
            var server = new ServerWithAuthorizationCode(
                element.Element("ClientId").Value,
                element.Element("ClientSharedSecret").Value,
                new Uri(element.Element("AuthorizationUri").Value),
                new Uri(element.Element("AccessTokenUri").Value),
                new Uri(element.Element("RedirectionUri").Value));
            if(element.Element("Guid") != null)
                server.Guid = new Guid(element.Element("Guid").Value);

            var scopesElement = element.Element("Scopes");
            if(scopesElement != null)
            {
                foreach(var scopeElement in scopesElement.Elements("Scope"))
                    server.Scopes.Add(scopeElement.Value);
            }

            return server;

        }
        public void ResetAuthorizationForServer(ServerWithAuthorizationCode server)
        {
            var token = Tokens.GetToken(server, this);

            token.AuthorizationCode = "";
        }
 public Boolean AuthorizesMeToAccessTo(ServerWithAuthorizationCode server)
 {
     return(!string.IsNullOrEmpty(Tokens.GetToken(server, this).AuthorizationCode));
 }
Example #9
0
 public void ResetAuthorizationForServer(ServerWithAuthorizationCode server)
 {
     var token = Tokens.GetToken(server, this);
     token.AuthorizationCode = "";
 }
Example #10
0
 public Boolean AuthorizesMeToAccessTo(ServerWithAuthorizationCode server)
 {
     return !string.IsNullOrEmpty(Tokens.GetToken(server, this).AuthorizationCode);
 }