Partilhar via


Amostra de código: Autenticação do Certificado OAuth 2.0

Atualizado: 19 de junho de 2015

Aplica-se a: Azure

Esta amostra ilustra como autenticar para Microsoft Azure Ative Directory Controlo de Acesso (também conhecido como serviço Controlo de Acesso ou ACS) utilizando o protocolo OAuth 2.0, apresentando um token SAML assinado por um certificado X.509. Este certificado corresponde a uma entidade ServiceId configurada em ACS, e a ACS emite um SWT com uma reclamação de identificação da Entidade ServiceId. Este SWT é utilizado para autenticar um recurso protegido OAuth 2.0. Esta amostra está em conformidade com o projeto 13 do protocolo OAuth 2.0. O código desta amostra está localizado na subdiretória OAuth2 (C#\OAuth2) da embalagem de amostras de código Microsoft Azure Ative Directory Controlo de Acesso (ACS).

Pré-requisitos

Para executar esta amostra, você precisará:

  1. Uma conta no portal do Azure e um Controlo de Acesso espaço de nome.

  2. Visual Studio 2010 (qualquer versão)

Para mais detalhes, consulte os pré-requisitos acs (https://go.microsoft.com/fwlink/?LinkId=221065).

Configurar a amostra

A configuração ACS necessária para esta amostra pode ser realizada utilizando o Portal de Gestão ACS ou o Serviço de Gestão ACS. Este tópico descreve ambas as opções.

  1. Opção 1: Configurar a amostra utilizando o Portal de Gestão ACS

  2. Opção 2: Configurar a amostra utilizando o Serviço de Gestão ACS

Opção 1: Configurar a amostra utilizando o Portal de Gestão ACS

Para configurar a amostra utilizando o Portal de Gestão ACS

  1. Vá ao Portal de Gestão Microsoft Azure (https://manage.WindowsAzure.com), inscreva-se e, em seguida, clique em Ative Directory. (Dica de resolução de problemas: o item "Ative Directory" está em falta ou não está disponível)

  2. Para criar um Controlo de Acesso espaço de nome, clique em Novos, clique em Serviços de Aplicações, clique Controlo de Acesso e, em seguida, clique em "Criar" Quick. (Ou, clique Controlo de Acesso Espaços de Nome antes de clicar em New.)

  3. Para gerir um Controlo de Acesso espaço de nome, selecione o espaço de nomes e, em seguida, clique em Gerir. (Ou, clique Controlo de Acesso Espaços de Nome, selecione o espaço de nomes e, em seguida, clique em Gerir.)

    Esta ação abre o portal de gestão do Serviço Controlo de Acesso.

  4. Para registar a sua aplicação com ACS, clique em Aplicações de Partido De Gestão, clique em Adicionar e, em seguida, digite as seguintes informações no formulário:

    • No campo Nome , insira OAuth2 RP

    • No campo Realm , insira https://oauth2relyingparty/

    • No campo de formato Token , selecione SWT

    • Clique em Gerar para criar uma nova chave

    • No campo Data de Expiração , introduza uma data de validade adequada para a chave. A chave deixará de ser válida nesta data.

  5. Clique em Guardar.

  6. Com a sua parte de gestão registada, é agora tempo de criar as regras que determinam as alegações que a ACS irá emitir à sua aplicação. Nesta amostra, criaremos uma regra que concede qualquer reclamação gerada pela ACS para passar.

    Para criar esta regra, clique em Grupos de Regras e, em seguida, clique em Predefinição Do Grupo de Regras para OAuth2 RP. Utilize as seguintes definições para adicionar uma nova regra:

    • Na secção de emitente de reclamação, selecione Controlo de Acesso Serviço

    • Na secção de tipo de reclamação de entrada , selecione Qualquer

    • Na secção de valor de reclamação de entrada , selecione Qualquer

    • Na secção do tipo de reclamação de saída , selecione Passe através do tipo de reclamação de entrada

    • Na secção de valor de reclamação de saída , selecione Passe através do valor de reclamação de entrada

  7. Esta amostra baseia-se em credenciais geridas pela ACS.

    Para configurar um novo certificado de cliente para a aplicação do cliente, clique em Identidades de Serviço, clique em Adicionar e, em seguida, digite um nome. Adicione um Tipo de Credencial de Certificado X.509 e navegue para o ACS2ClientCertificate.cer ficheiro na pasta certificados desta amostra. Clique em Guardar.

  8. Agora que o ACS está configurado, abra Visual Studio.

Opção 2: Configurar a amostra utilizando o Serviço de Gestão ACS

A solução de amostra Visual Studio tem uma aplicação de consola chamada ConfigureSample que utiliza o Serviço de Gestão ACS e os ajudantes comuns definidos na biblioteca da classe Comum. Esta aplicação pode ser usada para configurar o seu Controlo de Acesso espaço de nome para utilização com esta amostra.

Para configurar a amostra utilizando o Serviço de Gestão ACS

  1. Atualize a biblioteca de classes Comuns com informações sobre o seu Controlo de Acesso espaço de nome. Abrir amostrasConfiguration.cs e inserir o seguinte:

    • ServiceNamespace - Este é o nome do seu Controlo de Acesso espaço de nome

    • ManagementServiceIdentityName - Este é o nome de uma conta de serviço de gestão

    • ManagementServiceIdentityKey - Esta é a palavra-passe associada à conta de serviço de gestão

    • AcsHostUrl - Este é o nome de anfitrião da ACS

  2. Executar a aplicação ConfigureSample em Visual Studio. Isto configurará o ACS para executar esta amostra.

  3. Quando a aplicação ConfigureSample estiver concluída, irá apresentar a chave de assinatura da parte gerada para a consola. Copie esta chave para a pasta.

Executando a amostra

Para executar a amostra

  1. Abra a amostra em Visual Studio. Além da ConfigureSample e Common, a solução é constituída por dois projetos: ProtectedResourceWebApp e Cliente.

  2. Se ainda não o fez, insira os seus Controlo de Acesso detalhes do espaço de nome em Common\SamplesConfiguration.cs. Para mais informações, consulte o passo 1 da Opção 2: Configurar através do Serviço de Gestão ACS acima. Este ficheiro também é utilizado pelo projeto Cliente .

  3. Abra o ficheiro web.config no projeto ProtectedResourceWebApp .

  4. Introduza a sua chave de assinatura simbólica nos elementos apropriados da AppSettings. Se utilizou o Serviço de Gestão para configurar ACS, este é o valor que copiou para a área de transferência. Para obter a chave de assinatura simbólica, no portal ACS, clique em Certificados e Chaves. Abaixo está um corte de código que mostra esta secção do ficheiro web.config:

    <appSettings>
       <add key="SigningKey" value="...Copy Signing Key..."/>
    </appSettings>
    
  5. Para executar a amostra, inicie o ProtectedResourceWebApp. Um navegador web aparece, mas a caixa de texto está vazia porque o navegador web é não autenticado.

  6. Executar cliente. HTML será exibido numa janela da consola. Note que o HTML indica que o utilizador é autenticado e apresenta as reclamações da ACS.