IF you don't want to use a factory and I agree a factory doesn't quite suite the use case here. Instead you can use a provider to serve you a token.
public class MyIdentityProvider : Provider<IIdentifier>
{
...
}
kernel.Bind<IIdentifier>().ToProvider<MyIdentityProvider>();