Substituir usuário do WordPress pela conta Oauth2


10

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!


Olá Nick, Bem-vindo ao WPSE. Infelizmente, não posso ajudá-lo com o problema real em questão - mas você pode remover a introdução (não é realmente relevante para o problema) e talvez adicionar o que você já tentou, talvez até adicionar algum código. Isso facilita a ajuda de todos. Obrigado!
Kraftner

Obrigado @kraftner pela resposta apressada. Não escrevi muito código porque estou tentando fazer algumas pesquisas / design primeiro e acho que estava procurando afirmação com minha ideia. No entanto, parece que eu deveria ter uma prova de conceito em funcionamento. Desculpe se eu segui a abordagem errada aqui. Vou tentar fazer algum trabalho e publicar com problemas menores e alguns exemplos de trabalho.
Nick

Não queria incomodá-lo, realmente pensei que, como você é novo, diria que você obterá mais e melhores respostas se sua pergunta for curta e focada, em vez de contar uma história com informações irrelevantes.
Kraftner

@kraftner não chateado, senhor!
Nick

Respostas:


1

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.