Example #1
0
        public static async Task UnregisterDevice(DeviceInfo info)
        {
            try
            {
                await SecondaryAuthenticationFactorRegistration.UnregisterDeviceAsync(info.DeviceId.ToString());

                if ((await SecondaryAuthenticationFactorRegistration.FindAllRegisteredDeviceInfoAsync(SecondaryAuthenticationFactorDeviceFindScope.AllUsers)).Count <= 0)
                {
                    BackgroundHelper.Unregister();
                }
            }
            catch (Exception e)
            {
                Debug.Write(e);
            }
        }
Example #2
0
        public static async Task RegisterDevice(DeviceInfo info, IBuffer deviceKey, IBuffer authKey)
        {
            var registrationResult =
                await SecondaryAuthenticationFactorRegistration.RequestStartRegisteringDeviceAsync(
                    info.DeviceId.ToString(),  // deviceId: max 40 wide characters. For example, serial number of the device
                    SecondaryAuthenticationFactorDeviceCapabilities.SecureStorage |
                    SecondaryAuthenticationFactorDeviceCapabilities.HMacSha256 |
                    SecondaryAuthenticationFactorDeviceCapabilities.StoreKeys,
                    info.DeviceFriendlyName, // deviceFriendlyName: max 64 wide characters. For example: John's card
                    info.DeviceModelName,    // deviceModelNumber: max 32 wide characters. The app should read the model number from device.
                    deviceKey,
                    authKey);

            if (registrationResult.Status != SecondaryAuthenticationFactorRegistrationStatus.Started)
            {
                throw new OperationCanceledException(registrationResult.Status.ToString());
            }
            await registrationResult.Registration.FinishRegisteringDeviceAsync(null); //config data limited to 4096 bytes

            BackgroundHelper.RegisterIfNeeded();
        }