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); }
public void AddToClientAuthorizations(ClientAuthorization clientAuthorization) { base.AddObject("ClientAuthorizations", clientAuthorization); }
public static ClientAuthorization CreateClientAuthorization(int authorizationId, global::System.DateTime createdOnUtc) { ClientAuthorization clientAuthorization = new ClientAuthorization(); clientAuthorization.AuthorizationId = authorizationId; clientAuthorization.CreatedOnUtc = createdOnUtc; return clientAuthorization; }