コード例 #1
0
 /// <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;
     }
 }
コード例 #2
0
        /// <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));
        }