protected void CreateUser_Click(Object sender, EventArgs e) { // Create a user. I made a small Keycloak object User class based on the Keycloak documentation // This can be done the same way for all the Keycloak Administration API objects. // http://www.keycloak.org/docs-api/3.1/rest-api/index.html var userRepresentation = new UserRepresentation { username = "******", firstName = "Force", lastName = "Account", enabled = true }; // Just like the CreateUserRepresentation call, every Administration API call needs an access token from a // user with admin rights or use this client's service account and give it admin rights. var response = KeycloakHelpers.CreateUserRepresentation(userRepresentation, Context); if (response.IsSuccessStatusCode) { User = KeycloakHelpers.GetUserRepresentation(Context); // Here I add metadata to a user. this can for example be used when a contract is created. The contract id // can then be stored in the user's metadata. User.attributes.Add("contractId", new [] { "12345" }); var updatedUser = KeycloakHelpers.UpdateUserRepresentation(User, Context); } }
// POST users public IHttpActionResult Post(UserRepresentation value) { User user; try { user = new User() { Name = value.Name }; } catch { return(BadRequest()); } db.Users.Add(user); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = user.Id }, new UserRepresentation() { Id = user.Id, Name = user.Name })); }
public static void CreateUserAssetFile() { UserRepresentation asset = QuickSheet.CustomAssetUtility.CreateAsset <UserRepresentation>(); asset.SheetName = "HOX"; asset.WorksheetName = "User"; EditorUtility.SetDirty(asset); }
public RestSnapshot(IOidStrategy oidStrategy, IPrincipal user, HttpRequestMessage req, RestControlFlags flags) : this(oidStrategy, req, true) { populator = () => { Representation = UserRepresentation.Create(oidStrategy, req, user, flags); SetHeaders(); }; }
/// <summary> /// Update User Profile This will update the profile associated to the current token. [user] role required /// </summary> /// <exception cref="IO.Swagger.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="body"> (optional)</param> /// <returns>Task of ApiResponse (UserRepresentation)</returns> public async System.Threading.Tasks.Task <ApiResponse <UserRepresentation> > CurrentUserAsyncWithHttpInfo(UserRepresentation body = null) { var localVarPath = "/api/profile"; var localVarPathParams = new Dictionary <String, String>(); var localVarQueryParams = new List <KeyValuePair <String, String> >(); var localVarHeaderParams = new Dictionary <String, String>(Configuration.DefaultHeader); var localVarFormParams = new Dictionary <String, String>(); var localVarFileParams = new Dictionary <String, FileParameter>(); Object localVarPostBody = null; // to determine the Content-Type header String[] localVarHttpContentTypes = new String[] { "application/json" }; String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes); // to determine the Accept header String[] localVarHttpHeaderAccepts = new String[] { "application/json" }; String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts); if (localVarHttpHeaderAccept != null) { localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept); } if (body != null && body.GetType() != typeof(byte[])) { localVarPostBody = Configuration.ApiClient.Serialize(body); // http body (model) parameter } else { localVarPostBody = body; // byte array } // make the HTTP request IRestResponse localVarResponse = (IRestResponse)await Configuration.ApiClient.CallApiAsync(localVarPath, Method.PUT, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarPathParams, localVarHttpContentType); int localVarStatusCode = (int)localVarResponse.StatusCode; if (ExceptionFactory != null) { Exception exception = ExceptionFactory("CurrentUser", localVarResponse); if (exception != null) { throw exception; } } return(new ApiResponse <UserRepresentation>(localVarStatusCode, localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()), (UserRepresentation)Configuration.ApiClient.Deserialize(localVarResponse, typeof(UserRepresentation)))); }
public ActionResult <UserRepresentation> Create(User user) { // validate email if (!Utils.IsValidEmail(user.Email)) { return(BadRequest(new ValidationResult("email", "Invalid email address"))); } // validate password string passwordValidationMessage; if (!Utils.IsValidPassword(user.Password, out passwordValidationMessage)) { return(BadRequest(new ValidationResult("password", passwordValidationMessage))); } User existsUser = Program.MedialynxData.userDBAPI.GetByEmail(user.Email); if (user != null) { return(BadRequest("User already exists with same email")); } user.Password = Utils.GetHashString(user.Password); // to hash string Guid id = Utils.ToGuid(user.Id, false); user.Email = user.Email.ToLower(); // ensure that email does not contains uppercase user.CreationDate = DateTime.UtcNow; user.LastUpdate = user.CreationDate; if (id == Guid.Empty) { user.Id = Guid.NewGuid().ToString("B"); Program.MedialynxData.userDBAPI.Add(user); #pragma warning disable 4014 EmailService.SendEmailAsync( user.Email, "Account created successfully", "Account created successfully."); #pragma warning restore 4014 UserRepresentation userRepresentation = new UserRepresentation(user); userRepresentation.CredentialsInfo = this.GetCredentialsInfo(user); Program.MedialynxData.historyDBAPI.Add( new HistoryItem( user.Id, user.Id, this.GetType().ToString(), "User created successfully " + JsonSerializer.Serialize(userRepresentation) ) ); return(userRepresentation); } return(BadRequest("User can't be created. Provided id (" + id + ")")); }
public RestSnapshot(IPrincipal user, HttpRequestMessage req, RestControlFlags flags) : this(req, true) { logger.DebugFormat("RestSnapshot:User"); populator = () => { representation = UserRepresentation.Create(req, user, flags); SetHeaders(); }; }
/// <summary> /// Create a user from Keycloak /// </summary> /// <param name="userRepresentation"></param> /// <param name="context"></param> /// <returns>The response message from Keycloak</returns> public static HttpResponseMessage CreateUserRepresentation(UserRepresentation userRepresentation, HttpContext context) { using (var client = new HttpClient()) { // Choose between using the default admin account or the session user (The session user needs to have the appropriate manage-users role from the master-realm client). //var tokenResult = await GetAdminAccessToken(); var accessToken = GetSessionAccessToken(context); var request = CreateHttpRequestMessage(HttpMethod.Post, Constants.keycloak_api_user_endpoint, accessToken); var content = JsonConvert.SerializeObject(userRepresentation); request.Content = new StringContent(content, Encoding.UTF8, "application/json"); var response = client.SendAsync(request); return(response.Result); } }
/// <summary> /// Update a user in Keycloak /// </summary> /// <param name="user"></param> /// <param name="context"></param> /// <returns>The response message from Keycloak</returns> public static async Task <HttpResponseMessage> UpdateUserRepresentation(UserRepresentation user, HttpContext context) { using (var client = new HttpClient()) { var accessToken = GetSessionAccessToken(context); var request = CreateHttpRequestMessage(HttpMethod.Put, Constants.keycloak_api_user_endpoint + "/" + context.Request.GetOwinContext().Authentication.User.GetUserId(), accessToken); var content = JsonConvert.SerializeObject(user); request.Content = new StringContent(content, Encoding.UTF8, "application/json"); var response = await client.SendAsync(request); return(response); } }
private IEnumerator UserRequest(string path, string payload, Action <int> responseHandler) { UnityWebRequest request = UnityWebRequest.Put( Configuration.API_URL + path, payload); yield return(MakeRequest(request, "POST", response => { UserRepresentation result = JsonUtility.FromJson <UserRepresentation>(request.downloadHandler.text); if (result.token != null) { token = result.token; PlayerPrefs.SetString(TOKEN, token); } responseHandler((int)result.playerId); })); }
public async Task <ActionResult <dynamic> > AuthenticateAsync([FromBody] User model) { var user = UserRepository.Get(model.Username, model.Password); if (user == null) { return(NotFound(new { message = "Usuário ou Senha Inválidos!" })); } var token = TokenService.GenerateToken(user); var userRepresentation = UserRepresentation.CreateRepresentation(user); return(new { userRepresentation, token }); }
public IHttpActionResult GetUser(string email) { try { if (!string.IsNullOrWhiteSpace(email)) { UserRepresentation user = _accountApplicationService.GetUserByEmail(email); return(Ok(user)); } else { return(BadRequest("No email provided to GetUser")); } } catch (Exception exception) { return(InternalServerError()); } }
// GET users/1 public IHttpActionResult Get(int id) { var user = db.Users.Include("Reviews").ToList().Find(x => x.Id == id); if (user == null) { return(NotFound()); } var reviews = db.Reviews.Include("User") .Where(x => x.User.Id == user.Id) .ToList() .Select(x => new ReviewRepresentation { Id = x.Id, Content = x.Content }) .ToList(); var userRepresentation = new UserRepresentation() { Id = user.Id, Name = user.Name }; if (reviews.Count > 0) { userRepresentation.Reviews = new List <ReviewRepresentation>(); foreach (var review in reviews) { userRepresentation.Reviews.Add(review); } } return(Ok(userRepresentation)); }
/// <summary> /// Update User Profile This will update the profile associated to the current token. [user] role required /// </summary> /// <exception cref="IO.Swagger.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="body"> (optional)</param> /// <returns>UserRepresentation</returns> public UserRepresentation CurrentUser(UserRepresentation body = null) { ApiResponse <UserRepresentation> localVarResponse = CurrentUserWithHttpInfo(body); return(localVarResponse.Data); }
private Bitmap GetUserRepresentationClone() { return(UserRepresentation.Copy(Bitmap.Config.Argb8888, true)); }
/// <summary> /// Update User Profile This will update the profile associated to the current token. [user] role required /// </summary> /// <exception cref="IO.Swagger.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="body"> (optional)</param> /// <returns>Task of UserRepresentation</returns> public async System.Threading.Tasks.Task <UserRepresentation> CurrentUserAsync(UserRepresentation body = null) { ApiResponse <UserRepresentation> localVarResponse = await CurrentUserAsyncWithHttpInfo(body); return(localVarResponse.Data); }
// PUT: api/Users/5 public IHttpActionResult Put(int id, UserRepresentation newUserRepresentation) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var newUser = new User() { Id = newUserRepresentation.Id, Name = newUserRepresentation.Name, Reviews = newUserRepresentation.Reviews?.Select(x => new Review() { Id = x.Id }).ToList() ?? new List <Review>() }; if (id != newUserRepresentation.Id) { return(BadRequest()); } try { var user = db.Users.Include(x => x.Reviews).Single(x => x.Id == id); db.Entry(user).CurrentValues.SetValues(newUser); foreach (var review in user.Reviews.ToList()) { // ReSharper disable once SimplifyLinqExpression if (!newUser.Reviews.Any(x => x.Id == review.Id)) { user.Reviews.Remove(review); } } foreach (var review in newUser.Reviews) { if (user.Reviews.Any(x => x.Id == review.Id)) { continue; } db.Reviews.Attach(review); user.Reviews.Add(review); } db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!UserExists(id)) { return(NotFound()); } else { return(BadRequest()); } } catch (Exception) { return(BadRequest()); } return(StatusCode(HttpStatusCode.NoContent)); }