Estou tentando configurar o WordPress como um cliente OAuth2. Todos os nossos usuários são armazenados em nosso CMS proprietário, que é um provedor OAuth. Temos muito pouco (ou nenhum) usuário em nosso banco de dados WordPress, principalmente apenas administradores. Idealmente, não quero armazenar dados do usuário no banco de dados do WordPress, porque eu precisaria, de alguma forma, manter o estado em um número X de sites WordPress, enquanto eu tenho uma fonte de verdade no nosso CMS proprietário.
Meu design inicial até agora foi criar um plug-in que substitui a funcionalidade de usuário existente do WordPress e armazena um token de acesso OAuth e um uuid de usuário em um cookie ou sessão. Mas, eu preciso que esse usuário esteja acessível em outros plugins, substituindo idealmente os métodos de usuário padrão do WordPress.
Essa é uma abordagem aceitável? Ou estou tentando trabalhar com o WordPress de uma maneira que não foi feita para funcionar?
Posso encontrar vários plugins para configurar o WordPress como um provedor OAuth2, mas muito poucos como cliente. Dito isto, encontrei alguns que configuram o WordPress como cliente, mas muitos deles são específicos para o Google Apps, Facebook, Twitter etc. Além disso, esses aplicativos dependem do armazenamento de dados do usuário localmente na tabela de usuários do WordPress. Eu preferiria não fazer isso.
Obrigado por qualquer ajuda!
Respostas:
Se você puder substituir apenas as funções localizadas em wp-includes / pluggable.php, poderá evitar qualquer tipo de conflito de plug-in ... a menos que esteja usando plug-ins que substituam as mesmas funções conectáveis.
Apenas certifique-se de que suas funções sejam declaradas antes do carregamento dos pluggables. Os plug-ins são carregados antes do arquivo conectável ... portanto, se você definir substituições de funções em um plug-in, pode ter certeza de que eles serão carregados. Caso contrário, apenas certifique-se de usar uma ação anterior para fazer isso.
Existem várias funções de autenticação, cookie e relacionadas ao usuário para uso.
fonte