Esempio n. 1
0
        public ActionResult Redirect(string response_type, string client_id, string redirect_uri, string state,
                                     string scope)
        {
            var scopes = scope.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
            var client = oAuth2DataStore.FindClient(client_id);

            if (client == null)
            {
                throw (new HttpException((int)HttpStatusCode.BadRequest, "Invalid client_id"));
            }
            var auth = new ClientAuthorization(client_id, User.Identity.Name, redirect_uri, scopes);

            oAuth2DataStore.SaveAuthorization(auth);
            var query = HttpUtility.ParseQueryString(String.Empty);

            query["code"]  = auth.Code;
            query["state"] = state;
            var uri = new UriBuilder(redirect_uri)
            {
                Query = query.ToString()
            };
            var model = new RedirectViewModel()
            {
                RedirectUri   = uri.Uri,
                Client        = client,
                Authorization = auth
            };

            return(View(model));
        }
        public void SaveAuthorization(ClientAuthorization authorization)
        {
            var existingAuthorization = FindAuthorization(authorization.Code);

            if (existingAuthorization != null)
            {
                Authorizations.Remove(existingAuthorization);
            }
            if (Authorizations.Any(auth => auth.Code == authorization.Code))
            {
                Authorizations.Remove(existingAuthorization);
            }
            Authorizations.Add(authorization);
        }
Esempio n. 3
0
 public void AddToClientAuthorizations(ClientAuthorization clientAuthorization)
 {
     base.AddObject("ClientAuthorizations", clientAuthorization);
 }
Esempio n. 4
0
 public static ClientAuthorization CreateClientAuthorization(int authorizationId, global::System.DateTime createdOnUtc)
 {
     ClientAuthorization clientAuthorization = new ClientAuthorization();
     clientAuthorization.AuthorizationId = authorizationId;
     clientAuthorization.CreatedOnUtc = createdOnUtc;
     return clientAuthorization;
 }