package com.intrbiz.bergamot.ui.security.method;
import java.security.Principal;
import com.intrbiz.balsa.engine.impl.security.method.U2FAuthenticationMethod;
import com.intrbiz.balsa.error.BalsaSecurityException;
import com.intrbiz.bergamot.model.Contact;
import com.intrbiz.bergamot.model.ContactU2FDeviceRegistration;
import com.intrbiz.bergamot.ui.security.info.U2FDeviceAuthenticationDetail;
import com.yubico.u2f.data.DeviceRegistration;
public class BergamotU2FAuthenticationMethod extends U2FAuthenticationMethod
{
@Override
protected Object createAuthenticationInfoDetail(Principal principal, DeviceRegistration device) throws BalsaSecurityException
{
ContactU2FDeviceRegistration authenticatedUsing = ((Contact) principal).getU2FDeviceRegistrations().stream()
.filter((d) -> d.getKeyHandle().equals(device.getKeyHandle()) && d.getPublicKey().equals(device.getPublicKey()))
.findFirst().get();
return new U2FDeviceAuthenticationDetail(authenticatedUsing);
}
}