You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
description: "Esta amostra usa a Biblioteca de Clientes do Microsoft Graph .NET para trabalhar com os dados e a Biblioteca de Autenticação da Microsoft (MSAL) para autenticação do ponto de extremidade do Azure AD v2.0."
11
+
extensions:
12
+
contentType: samples
13
+
technologies:
14
+
- Microsoft Graph
15
+
services:
16
+
- Office 365
17
+
- Outlook
18
+
- Groups
19
+
createdDate: 8/4/2016 10:31:51 AM
20
+
---
1
21
# Exemplo de Trechos de Código do Microsoft Graph para ASP.NET 4.6
*[Registrar o aplicativo](#register-the-application)
@@ -18,52 +36,54 @@ O exemplo usa a [Biblioteca de Autenticação da Microsoft (MSAL)](https://www.n
18
36
19
37
Além disso, o exemplo mostra como solicitar tokens de forma incremental, um recurso compatível com o ponto de extremidade do Microsoft Azure AD versão 2.0. Os usuários permitem um conjunto inicial de escopos de permissão durante a conexão, mas podem permitir outros escopos posteriormente. No caso deste exemplo, qualquer usuário válido pode entrar, mas apenas administradores podem posteriormente permitir os escopos de administrador necessários para determinadas operações.
20
38
21
-
O exemplo usa o [middleware OWIN do OpenId Connect do ASP.NET](https://www.nuget.org/packages/Microsoft.Owin.Security.OpenIdConnect/) para entrar e durante a aquisição de token inicial. O exemplo também implementa o middleware Owin personalizado para compartilhar um código de autorização para tokens de acesso e de atualização fora do fluxo de entrada. O middleware personalizado chama a MSAL para compilar o URI de solicitação de autorização e manipula os redirecionamentos. Para saber mais sobre o consentimento incremental, confira o artigo [Integrar a identidade da Microsoft e o Microsoft Graph em um aplicativo Web usando o OpenID Connect](https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect-v2).
39
+
O exemplo usa o [middleware OWIN do OpenId Connect do ASP.NET](https://www.nuget.org/packages/Microsoft.Owin.Security.OpenIdConnect/) para entrar e durante a aquisição de token inicial. O exemplo também implementa o middleware Owin personalizado para compartilhar um código de autorização para tokens de acesso e de atualização fora do fluxo de entrada. O middleware personalizado chama a MSAL para compilar o URI de solicitação de autorização e manipula os redirecionamentos. Para saber mais sobre o consentimento incremental, consulte [Integrar a identidade da Microsoft e o Microsoft Graph em um aplicativo Web usando o OpenID Connect](https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect-v2).
40
+
41
+
> Este exemplo usa ASP.NET MVC 4.6. Para obter exemplos que usam ASP.NET Core, confira um desses dois exemplos: - [exemplo de conexão do Microsoft Graph para ASP.NET Core 2.1](https://github.com/microsoftgraph/aspnetcore-connect-sample) - [Habilite seus aplicativos Web para conectar usuários e chamar APIs com a plataforma de identidade da Microsoft para desenvolvedores](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2)
22
42
23
43
## Observação importante sobre a Visualização da MSAL
Esta biblioteca é adequada para uso em um ambiente de produção. Ela recebe o mesmo suporte de nível de produção que fornecemos às nossas bibliotecas de produção atuais. Durante a visualização, podemos fazer alterações na API, no formato de cache interno e em outros mecanismos desta biblioteca, que você será solicitado a implementar juntamente com correções de bugs ou melhorias de recursos. Isso pode impactar seu aplicativo. Por exemplo, uma alteração no formato de cache pode impactar seus usuários, exigindo que eles entrem novamente. Uma alteração na API pode requerer que você atualize seu código. Quando fornecermos a versão de Disponibilidade Geral, você será solicitado a atualizar a versão de Disponibilidade Geral no prazo de seis meses, pois os aplicativos escritos usando uma versão de visualização da biblioteca podem não funcionar mais.
27
46
28
-
29
47
## Pré-requisitos
30
-
<aid="prerequisites"class="xliff"></a>
31
48
32
49
Este exemplo requer o seguinte:
33
50
34
-
*[Visual Studio 2015](https://www.visualstudio.com/en-us/downloads)
35
-
* Uma [conta da Microsoft](https://www.outlook.com) ou uma [conta do Office 365 para empresas](https://msdn.microsoft.com/en-us/office/office365/howto/setup-development-environment#bk_Office365Account). Uma conta de administrador do Office 365 é necessária para executar operações de administrador. Inscreva-se para [uma Assinatura de Desenvolvedor do Office 365](https://msdn.microsoft.com/en-us/office/office365/howto/setup-development-environment#bk_Office365Account), que inclui os recursos necessários para que você comece a criar aplicativos.
36
-
37
-
## Registrar o aplicativo
38
-
<aid="register-the-application"class="xliff"></a>
39
-
40
-
1. Entre no [Portal de Registro do Aplicativo](https://apps.dev.microsoft.com/) usando sua conta pessoal ou sua conta comercial ou escolar.
41
-
42
-
2. Escolha **Adicionar um aplicativo**.
43
-
44
-
3. Insira um nome para o aplicativo e escolha **Criar aplicativo**.
45
-
46
-
A página de registro é exibida, listando as propriedades do seu aplicativo.
47
-
48
-
4. Copie a ID do Aplicativo. Esse é o identificador exclusivo do aplicativo.
49
-
50
-
5. Em **Segredos do Aplicativo**, escolha **Gerar Nova Senha**. Copie a senha da caixa de diálogo **Nova senha gerada**.
51
-
52
-
Será preciso inserir os valores da ID do aplicativo e o segredo do aplicativo que você copiou para o exemplo de aplicativo.
53
-
54
-
6. Em **Plataformas**, escolha **Adicionar plataforma**.
55
-
56
-
7. Escolha **Web**.
57
-
58
-
8. Verifique se a caixa de diálogo **Permitir Fluxo Implícito** está marcada e insira *https://localhost:44300/* como o URI de redirecionamento.
59
-
60
-
A opção **Permitir Fluxo Implícito** habilita o fluxo híbrido. Durante a autenticação, isso permite que o aplicativo receba informações de entrada (o id_token) e artefatos (neste caso, um código de autorização) que o aplicativo pode usar para obter um token de acesso.
* Uma [conta Microsoft](https://www.outlook.com) ou uma [conta do Office 365 para empresas](https://msdn.microsoft.com/en-us/office/office365/howto/setup-development-environment#bk_Office365Account). Uma conta de administrador do Office 365 é necessária para executar operações de administrador. Você pode se inscrever para uma [assinatura de Desenvolvedor do Office 365](https://msdn.microsoft.com/en-us/office/office365/howto/setup-development-environment#bk_Office365Account)que inclui os recursos necessários para começar a criar aplicativos.
53
+
54
+
## Registrar o aplicativo Web
55
+
56
+
### Escolha o locatário do Azure AD no local em que você deseja criar o aplicativo
57
+
58
+
Como primeira etapa, você precisará:
59
+
60
+
1. Entrar no [portal do Azure](https://portal.azure.com)usando uma conta corporativa, de estudante ou uma conta Microsoft pessoal.
61
+
1. Se sua conta estiver presente em mais de um locatário do Azure AD, selecione seu perfil no canto superior direito no menu na parte superior da página e, em seguida, selecione **alternar diretório**. Alterar a sessão do portal para o locatário do Azure AD desejado.
62
+
63
+
### Registrar o aplicativo
64
+
65
+
1. Navegue até a página [Registros do aplicativo](https://go.microsoft.com/fwlink/?linkid=2083908) da plataforma de identidade da Microsoft para desenvolvedores.
66
+
1. Selecione **Novo registro**.
67
+
1. Quando a página **Registrar um aplicativo for exibida**, insira as informações de registro do aplicativo:
68
+
- Na seção **Nome**, insira um nome de aplicativo relevante que será exibido aos usuários do aplicativo.
69
+
- Altere **Tipos de conta com suporte** para **Contas em qualquer diretório organizacional e contas pessoais da Microsoft (por exemplo, Skype, Xbox, Outlook.com)**.
70
+
> Observe que há mais de um URI de redirecionamento. Será preciso adicioná-los na guia **Autenticação** mais tarde, depois que o aplicativo for criado com êxito.
71
+
1. Selecione **Registrar** para criar o aplicativo.
72
+
1. Na página **Visão geral** do aplicativo, encontre o valor de **ID do aplicativo (cliente)** e registre-o para usar mais tarde. Será necessário configurar o arquivo de configuração do Visual Studio para este projeto.
73
+
1. Na página Visão geral do aplicativo, selecione a seção **Autenticação**.
74
+
- Na seção Redirecionar URIs, selecione **Web** na caixa de combinação e digite os seguintes URIs de redirecionamento.
75
+
-`https://localhost:44300/`
76
+
-`https://localhost:44300/signin-oidc`
77
+
- Na seção **Configurações avançadas**, defina **URL de saída** como `https://localhost:44300/signout-oidc`
78
+
- Na seção **Configurações avançadas** | **Concessão implícita**, verifique **tokens de ID**, já que este exemplo requer que o [fluxo de concessão implícita](https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-implicit-grant-flow) esteja habilitado para conectar um usuário e chamar uma API.
79
+
1. Selecione **Salvar**.
80
+
1. Na página **Certificados e segredos**, na seção **Segredos do cliente**, escolha **Novo segredo do cliente**:
81
+
- Digite um descritor da chave (por exemplo, `segredo do aplicativo`),
82
+
- Selecione uma duração de chave de **1 ano**, **2 anos** ou **Nunca Expirará**.
83
+
- Quando você pressionar o botão **Adicionar**, o valor da chave será exibido. Copie e salve o valor de chave em uma localização segura.
84
+
- Você precisará dessa chave mais tarde para configurar o projeto no Visual Studio. Esse valor da chave não será exibido novamente, nem poderá ser recuperado por nenhum outro meio, portanto, grave-o assim que estiver visível no portal do Azure.
64
85
65
86
## Criar e executar o exemplo
66
-
<aid="build-and-run-the-sample"class="xliff"></a>
67
87
68
88
1. Baixe ou clone o Exemplo de Trechos de Código do Microsoft Graph para ASP.NET 4.6.
69
89
@@ -81,31 +101,27 @@ Este exemplo requer o seguinte:
81
101
82
102
7. Escolha uma operação que você queira executar. Observe o seguinte:
83
103
- As operações que exigem um argumento (como ID) são desativadas até você executar um trecho de código que permita escolher uma entidade.
84
-
85
-
- Alguns trechos de código (marcados como *somente administradores*) exigem escopos de permissão comerciais que só podem ser concedidos por um administrador. Para executar esses trechos de código, entre como administrador e use o link na guia *Escopos de administrador* para permitir escopos em nível de administrador. Essa guia não está disponível para usuários que estão conectados com contas pessoais.
86
-
104
+
- Alguns trechos de código (marcados como *somente administradores*) exigem escopos de permissão comerciais que só podem ser concedidos por um administrador. Para executá-los, você precisa entrar no portal do Azure como um administrador. Em seguida, use a seção *Permissões de API* do registro do aplicativo para concordar com os escopos no nível de administrador. Essa guia não está disponível para usuários que estão conectados com contas pessoais.
87
105
- Se você estiver conectado com uma conta pessoal, os trechos de código sem suporte para contas da Microsoft serão desabilitados.
88
106
89
107
As informações de resposta são exibidas na parte inferior da página.
Este exemplo cria, atualiza e exclui entidades e dados (como usuários ou arquivos). Dependendo do modo como você a usar, **poderá editar ou excluir dados e entidades reais** e deixar artefatos de dados.
95
112
96
113
Para usar o exemplo sem modificar seus dados reais da conta, certifique-se de executar a atualização e excluir operações somente em entidades que são criadas pelo exemplo.
97
114
98
115
99
116
## Código da observação
100
-
<aid="code-of-note"class="xliff"></a>
101
117
102
118
-[Startup.Auth.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/App_Start/Startup.Auth.cs). Autentica o usuário atual e inicializa o cache de token do exemplo.
103
119
104
120
-[SessionTokenCache.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/TokenStorage/SessionTokenCache.cs). Armazena as informações de token do usuário. Você pode substituir pelo seu próprio cache de token personalizado. Saiba mais em [Armazenamento de tokens de acesso em cache em um aplicativo de vários locatários](https://azure.microsoft.com/en-us/documentation/articles/guidance-multitenant-identity-token-cache/).
105
121
106
-
-[SampleAuthProvider.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/Helpers/SampleAuthProvider.cs). Implementa a interface IAuthProvider local e obtém acesso a um token usando o método **AcquireTokenSilentAsync**. Isso pode ser substituído pelo seu próprio provedor de autorização.
122
+
-[SampleAuthProvider.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/Helpers/SampleAuthProvider.cs). Implementa a interface IAuthProvider local e obtém acesso a um token, usando o método **AcquireTokenSilentAsync**. Isso pode ser substituído pelo seu próprio provedor de autorização.
107
123
108
-
-[SDKHelper.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/Helpers/SDKHelper.cs). Inicializa o **GraphServiceClient**, na [Biblioteca do Cliente .NET para Microsoft Graph](https://github.com/microsoftgraph/msgraph-sdk-dotnet), que é usado para interagir com o Microsoft Graph.
124
+
-[SDKHelper.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/Helpers/SDKHelper.cs). Inicializa o **GraphServiceClient** na [Biblioteca de Cliente do Microsoft Graph .NET](https://github.com/microsoftgraph/msgraph-sdk-dotnet) usada para interagir com o Microsoft Graph.
109
125
110
126
- Os seguintes controladores contêm métodos que usam o **GraphServiceClient** para criar e enviar chamadas para o serviço do Microsoft Graph e processar a resposta.
@@ -123,34 +139,30 @@ Para usar o exemplo sem modificar seus dados reais da conta, certifique-se de ex
123
139
124
140
- Os arquivos a seguir contêm os modelos de exibição e exibição parcial usados para analisar e exibir dados do Microsoft Graph como objetos genéricos (para os fins deste exemplo).
- Os arquivos a seguir contêm o código usado para fornecer suporte ao consentimento incremental. Neste exemplo, os usuários são solicitados a consentir um conjunto inicial de permissões durante a entrada e a consentir permissões de administrador separadamente.
144
+
- Os arquivos a seguir contêm o código usado para fornecer suporte ao consentimento incremental. Neste exemplo, os usuários são solicitados a consentir em um conjunto inicial de permissões durante a entrada e a consentir em permissões de administrador separadamente.
-[OAuth2CodeRedeemerMiddleware.cs](/Graph-ASPNET-46-Snippets/Microsoft%20Graph%20ASPNET%20Snippets/Utils/OAuth2CodeRedeemerMiddleware.cs). Middleware personalizado que resgata um código de autorização para tokens de acesso e de atualização fora do fluxo de entrada. Confira https://github.com/Azure-Samples/active-directory-dotnet-webapp-openidconnect-v2 para saber mais sobre como implementar o consentimento incremental.
131
147
132
148
## Perguntas e comentários
133
-
<aid="questions-and-comments"class="xliff"></a>
134
149
135
-
Gostaríamos de saber sua opinião sobre este exemplo. Você pode nos enviar suas perguntas e sugestões por meio da seção [Issues](https://github.com/microsoftgraph/aspnet-snippets-sample/issues) deste repositório.
150
+
Gostaríamos de saber sua opinião sobre este exemplo. Você pode enviar perguntas e sugestões na seção [Problemas](https://github.com/microsoftgraph/aspnet-snippets-sample/issues) deste repositório.
136
151
137
-
Seus comentários são importantes para nós. Junte-se a nós na página [Stack Overflow](http://stackoverflow.com/questions/tagged/microsoftgraph). Marque suas perguntas com [MicrosoftGraph].
152
+
Seus comentários são importantes para nós. Junte-se a nós na página do [Stack Overflow](http://stackoverflow.com/questions/tagged/microsoftgraph). Marque suas perguntas com \[MicrosoftGraph].
138
153
139
154
## Colaboração
140
-
<aid="contributing"class="xliff"></a>
141
155
142
156
Se quiser contribuir para esse exemplo, confira [CONTRIBUTING.md](CONTRIBUTING.md).
143
157
144
-
Este projeto adotou o [Código de Conduta do Código Aberto da Microsoft](https://opensource.microsoft.com/codeofconduct/). Para saber mais, confira as [Perguntas frequentes do Código de Conduta](https://opensource.microsoft.com/codeofconduct/faq/) ou contate[opencode@microsoft.com](mailto:opencode@microsoft.com) se tiver outras dúvidas ou comentários.
158
+
Este projeto adotou o [Código de Conduta do Código Aberto da Microsoft](https://opensource.microsoft.com/codeofconduct/). Para saber mais, confira as [Perguntas frequentes sobre o Código de Conduta](https://opensource.microsoft.com/codeofconduct/faq/) ou entre em contato pelo[opencode@microsoft.com](mailto:opencode@microsoft.com) se tiver outras dúvidas ou comentários.
145
159
146
160
## Recursos adicionais
147
-
<aid="additional-resources"class="xliff"></a>
148
161
149
162
-[Outros exemplos de trechos de código do Microsoft Graph](https://github.com/MicrosoftGraph?utf8=%E2%9C%93&query=snippets)
150
163
-[Visão geral do Microsoft Graph](http://graph.microsoft.io)
151
164
-[Exemplos de código para desenvolvedores do Office](http://dev.office.com/code-samples)
152
165
-[Centro de Desenvolvimento do Office](http://dev.office.com/)
0 commit comments