OK, consegui este trabalho usando:
- Apache com SSL
- Biblioteca OpenID do PHP
Na configuração do Apache, eu fiz isso (nota: não usei o FakeBasicAuth no final):
SSLCACertificateFile /.../myOrgCA.pem SSLVerifyClient require SSLVerifyDepth 1 SSLOptions +StdEnvVars
Edite action_default () para redirecionar o usuário para o endereço https, se acessado via http simples. O endereço http simples é o que você publica no seu <link rel="openid.server">
.
Altere getLoggedInUser () para extrair o nome de usuário de $_SERVER['SSL_CLIENT_S_DN_Email']
.
Você também pode editar o doAuth () para fornecer o endereço de e-mail ou o nome completo de maneira semelhante.
Tenha certeza de como isso é seguro, mas o usamos em sites de valor relativamente baixo (fóruns, rastreadores de bugs, etc.).