Compartilhar via


Exemplo de código: Plug-in do WordPress

Atualizado em: 19 de junho de 2015

Aplica-se ao Azure

O Plug-in do WordPress do ACS permite que os hosts do WordPress usem o ACS para habilitar o logon federado para seus sites do WordPress.

Os administradores do WordPress podem usar Microsoft Azure Active Directory Controle de Acesso (também conhecido como serviço de Controle de Acesso ou ACS) para criar relações de confiança entre seus sites e provedores de identidade, como Windows ID ao vivo, Facebook, Google, Yahoo!, e provedores de identidade personalizados, como o Microsoft Serviços de Federação do Active Directory (AD FS) 2.0. O Plug-in do WordPress do ACS renderiza uma página de logon personalizada com base na configuração do ACS e permite que os usuários finais usem um provedor de identificação de sua escolha para fazer logon no site do WordPress.

Para baixar o plug-in do WordPress, consulte http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

Recursos

  • Autentique-se no WordPress usando Windows ID dinâmica, Facebook, Google, Yahoo!, ou um provedor de identidade personalizado baseado na Web configurado no ACS

  • Registro fácil para assinante do site WordPress

  • Gerenciar o site de WordPress usando uma conta federada

  • As contas federadas são idênticas para contas normais de usuários e suporta fallback para a autenticação local com base em senha

  • Integra-se ao ACS usando o protocolo WS-Federation e tokens Web simples

Requisitos

  • Uma conta Microsoft Azure na home page do Azure.

  • Um namespace Controle de Acesso. Para obter mais informações, consulte Como criar um namespace de Controle de Acesso.

  • Executar o host da web com PHP 5.0 ou posterior

  • Executar o host da web com WordPress 3.0 ou posterior

Configurando o plug-in do WordPress do ACS

Há três partes da configuração do Plug-in do WordPress do ACS:

  • Configurando o ACS para o Plug-in do WordPress

  • Definir as configurações do plug-in de WordPress

  • Ativar o plug-in de WordPress

Configurando o ACS para o Plug-in do WordPress

Você pode usar o Portal de Gerenciamento do ACS para configurar o ACS.

Para configurar o ACS para o plug-in do WordPress

  1. Vá para o Portal de Gerenciamento do Microsoft Azure (https://manage.WindowsAzure.com), entre e clique em Active Directory. (Dica de solução de problemas: o item "Active Directory" está ausente ou não está disponível)

  2. Para criar um namespace do Access Control clique em Novo, clique em Serviços de Aplicativo, clique em Access Control, e depois em Criação Rápida. (Or, clique em Namespaces do Access Control antes de clicar em Novo.)

  3. Para gerenciar um namespace do Access Control, selecione o namespace e clique em Gerenciar. (Or, clique em Namespaces do Access Control, selecione o namespace e clique em Gerenciar.)

    Essa ação abre o portal de gerenciamento do Serviço de Controle de Acesso.

  4. Para estabelecer relações com os provedores de identidade que você gostaria que os usuários do seu site usem ao fazer logon, clique em Provedores de identidade e em seguida selecione um provedor de identidade para seu site.

  5. Para registrar seu site do WordPress com o ACS, clique em Aplicativos de Terceira Parte Confiável, clique em Adicionar, insira as informações a seguir no formulário e clique em Salvar.

    • No campo Nome, insira o nome para exibição do seu site.

    • No campo Realm, insira a URL base do seu site de WordPress. Por exemplo: http://127.0.0.1/wordpress/

    • No campo URL de retorno, insira a URL para o arquivo wp-login.php no seu site de WordPress. Por exemplo: http://127.0.0.1/wordpress/wp-login.php

    • No campo Formato do token, selecione SWT. Isso configura o ACS para enviar um SWT (Token Web Simples) para o plug-in do WordPress sempre que um usuário se autentica com êxito.

    • No campo Provedores de identidade, selecione os provedores de identidade que você quiser oferecer suporte no seu site.

    • No campo Chave de Autenticação de Token, clique em Gerar para criar uma chave de autenticação de token. Copiar esta chave para usar depois na configuração do plug-in.

    • No campo Data de vencimento, insira uma data de vencimento apropriada para a chave. A chave não será mais válida a partir dessa data

    • Deixe os valores dos outros campos com suas definições padrão.

  6. Em seguida, crie as regras que determinam as informações de usuário que o ACS envia ao seu site. Neste exemplo, enviamos todas as declarações enviadas pelos provedores de identidade. Para criar esta regra, clique em Grupos de regras, clique em Grupo de regras padrão para meu site de WordPress e clique em Gerar. Verifique que seus provedores de identidade estejam selecionados e clique em Gerar de novo.

    Importante

    É criticamente importante que o tipo de declaração de entrada identifique exclusivamente ao usuário. Se você não tiver certeza de que tipo de declaração usar, contate o administrador do seu provedor de identidade.

    Se você estiver usando um provedor de identidade de WS-Federation personalizado, como o AD FS 2.0, verifique se há uma regra que retorna uma declaração nameidentifier desse provedor de identidade. Esta declaração envia um ID único do usuário para o aplicativo de WordPress. Se esta regra estiver ausente, você deve criar uma regra que mapeie a declaração de ID única retornada por aquele provedor de identidade ao tipo de declaração nameidentifier.

Definir as configurações do plug-in de WordPress

Para definir as configurações do plug-in de WordPress

  1. Baixar o Plug-in do WordPress do site do WordPress em http://wordpress.org/extend/plugins/acs-plugin-for-wordpress/

  2. Abra o arquivo acs-wp-plugin-config-sample.php na pasta onde foi baixado.

  3. No campo ACS_NAMESPACE, insira o nome de domínio totalmente qualificado do namespace Controle de Acesso, como mynamespace.accesscontrol.windows.net. Para localizar o nome de domínio, no portal do ACS, clique em Integração de aplicativos. O valor aparece no campo Portal de gerenciamento da seção Referência do ponto de extremidade.

  4. Para a constante ACS_APPLICATION_REALM, insira o realm que você inseriu quando registrou seu site do WordPress com o ACS como um aplicativo de terceira parte confiável, por exemplo. http://127.0.0.1/wordpress/

  5. No campo ACS_TOKEN_SIGNING_KEY, insira a chave de assinatura do token que você criou quando registrou seu site de WordPress como um aplicativo de terceira parte confiável. Trate esta chave de uma forma segura, como faria com uma senha.

  6. Salve o arquivo como acs-wp-plugin-config.php.

    Importante

    O arquivo acs-wp-plugin-config.php contém informações sensitivas que devem ser protegidas de usuários não autorizados. Recomendamos que configure as permissões adequadas neste arquivo e que configure seu servidor web para negar o acesso direto a este arquivo por meio do navegador. Para servidores web Apache, copiar o código embaixo em um arquivo chamado .htaccess e coloque ele no mesmo diretório que o arquivo acs-wp-plugin-config.php.

    # protect acs-wp-plugin-config.php
    <files acs-wp-plugin-config.php>
    order allow,deny
    deny from all
    </files>
    

Ativar o plug-in de WordPress

Para ativar o plug-in de WordPress

  1. Copiar a pasta acs-plugin-for-wordpress na pasta /wp-content/plugins/ na sua instalação do WordPress.

  2. Em um navegador web, navegue até o site do WordPress e faça logon como administrador.

  3. Na área de administração do site, clique em Plug-ins. A página Plug-in do ACS para WordPress é exibida.

  4. Em Plug-in ACS para WordPress, clique em Ativar. O plug-in do WordPress do ACS agora está habilitado em seu site.

Testando o Plug-in de WordPress

Para testar o plug-in de WordPress

  1. Para testar o plug-in, faça logoff do seu site de WordPress e selecione Fazer logon na página principal do site.

    A página de logon exibe um botão para cada provedor de identidade configurado no ACS.

  2. Seleciona um provedor de identidade e faça logon.

  3. Quando você seja autenticado, será solicitado a criar um nome de usuário para o site de WordPress. Se você fez logon usando Windows Live ID, você também será solicitado a inserir um endereço de email.

É criada uma nova conta de WordPress com a função do Assinante e você é direcionado para sua página do perfil de WordPress. Para visitas subsequentes, clique no provedor de identidade para fazer logon. Você não será solicitado a inserir um nome de usuário ou endereço de email.

Observação

Uma conta de administrador pode promover as contas de assinantes federados para status de administrador, para que você use uma conta federada para administrar o site.

Observações

  • A ID exclusiva que Windows Live ID cria para cada usuário é específica do namespace Controle de Acesso. Se você substituir seu namespace Controle de Acesso por um namespace Controle de Acesso que tenha um nome diferente, os usuários que se autenticaram com uma conta do Windows Live ID não poderão fazer logon em seu site. No caso improvável de que você precise alterar o namespace Controle de Acesso, esses usuários ainda podem usar o recurso de redefinição de senha do WordPress para entrar usando uma senha local.