Substituir o usuário do WordPress pela conta Oauth2

9

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 (nenhum) usuário em nosso banco de dados WordPress, principalmente apenas administradores. Idealmente, eu 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 do WordPress, enquanto eu tenho uma fonte de verdade dentro do nosso CMS proprietário.

Meu design inicial até o momento foi criar um plug-in que substitua a funcionalidade existente do usuário do WordPress e armazene um token de acesso OAuth e o usuário uuid em um cookie ou sessão. Mas, eu preciso que esse usuário seja acessível em outros plugins, então, idealmente, substituindo os métodos padrão do usuário do WordPress.

Esta é uma abordagem aceitável? Ou, estou tentando trabalhar com o WordPress de uma forma que não foi feito para ser trabalhado?

Eu posso encontrar muitos plugins para configurar o WordPress como um provedor OAuth2, mas muito poucos como um cliente. Dito isso, descobri que alguns configuram o WordPress como um cliente, mas muitos deles são específicos do Google Apps, Facebook, Twitter etc. Além disso, esses aplicativos dependem do armazenamento local dos dados do usuário na tabela de usuários do WordPress. Eu preferiria não fazer isso.

Obrigado por qualquer ajuda!

    
por Nick 16.12.2014 / 17:26

1 resposta

1

Se você pode usar apenas funções que estão localizadas em wp-includes / pluggable.php, então você deve ser capaz de evitar qualquer tipo de conflito de plugins ... a menos que você esteja usando plugins que estão sobrescrevendo as mesmas funções conectáveis.

Apenas certifique-se de que suas funções sejam declaradas antes que os pluggables sejam carregados. Plugins são carregados antes do arquivo pluggables ... então se você definir suas substituições de função em um plugin, então você pode estar certo de que elas estão carregadas. Caso contrário, certifique-se de usar uma ação anterior para fazer isso.

Existem algumas funções relacionadas a autenticação, cookies e usuários para uso.

    
por Privateer 14.01.2015 / 18:19