/// <summary> /// /// </summary> /// <param name="context"></param> /// <returns></returns> public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { try { var deviceId = context.Scope[0]; IDeviceRegistrationServices deviceServices = new DeviceRegistrationServices(); var device = deviceServices.GetDeviceByDeviceId(deviceId); if (device == null) { deviceServices.AddDeviceRegistration(new BrownBagService.Model.DeviceRegistrationModel { AccessToken = "-", CustomerGuid = "", IsActive = true, IMEINumber = deviceId }); } var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim("deviceId", deviceId)); identity.AddClaim(new Claim(ClaimTypes.Role, "Mobile")); //---------------------------------------------------------- context.Validated(identity); } catch (Exception ex) { throw ex; } }
/// <summary> /// /// </summary> /// <param name="context"></param> /// <returns></returns> public override Task TokenEndpointResponse(OAuthTokenEndpointResponseContext context) { IDeviceRegistrationServices deviceServices = new DeviceRegistrationServices(); deviceServices.EditDeviceRegistration(new BrownBagService.Model.DeviceRegistrationModel { AccessToken = context.AccessToken, IMEINumber = context.AdditionalResponseParameters["DeviceInformation"].ToString() }); return(base.TokenEndpointResponse(context)); }