Skip to content
This repository was archived by the owner on Apr 12, 2023. It is now read-only.

Commit bc4abf0

Browse files
authored
Merge pull request #57 from OfficeGlobal/master
HB of localized readme files
2 parents 8870a81 + fa42841 commit bc4abf0

File tree

6 files changed

+1080
-0
lines changed

6 files changed

+1080
-0
lines changed

README-localized/README-es-es.md

Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
---
2+
page_type: sample
3+
description: "Utilice ASP.NET Core 2.1 MVC para conectarse a Microsoft Graph utilizando el flujo de permisos delegados."
4+
products:
5+
- ms-graph
6+
languages:
7+
- aspx
8+
- csharp
9+
extensions:
10+
contentType: samples
11+
technologies:
12+
- Microsoft Graph
13+
- Microsoft identity platform
14+
services:
15+
- Microsoft identity platform
16+
createdDate: 8/6/2017 5:17:58 AM
17+
---
18+
# Ejemplo para conectarse a Microsoft Graph para ASP.NET Core 2.1
19+
20+
![Captura de pantalla del ejemplo para conectarse a Microsoft Graph para ASP.NET Core 2.1](readme-images/Page1.PNG)
21+
22+
**Escenario**: Utilice ASP.NET Core 2.1 MVC para conectarse a Microsoft Graph con el flujo de permisos delegados para recuperar el perfil de un usuario, la foto del punto de conexión de Azure AD (v 2.0) y, a continuación, envíe un correo electrónico que contenga la foto como datos adjuntos.
23+
24+
El ejemplo usa OpenID Connect para iniciar sesión, la [Biblioteca de autenticación de Microsoft (MSAL) para .NET](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) para obtener un token de acceso y la [Biblioteca cliente de Microsoft Graph para .NET](https://github.com/microsoftgraph/msgraph-sdk-dotnet) (SDK) con el fin de interactuar con Microsoft Graph. El SDK de MSAL ofrece características para trabajar con el [punto de conexión Azure AD v2.0](https://azure.microsoft.com/en-us/documentation/articles/active-directory-appmodel-v2-overview), lo que permite a los desarrolladores escribir un flujo de código único que controla la autenticación para las cuentas profesionales, educativas (Azure Active Directory) o las cuentas personales (Microsoft).
25+
El ejemplo usa solo permisos de delegado, por lo que no necesita consentimiento de administrador.
26+
27+
> La versión anterior de este ejemplo que usa la versión ASP.NET Core 1.1 está [aquí](https://github.com/microsoftgraph/aspnetcore-connect-sample/tree/netcore1.1) y la versión ASP.NET Core 2.0 está [aquí](https://github.com/microsoftgraph/aspnetcore-connect-sample/tree/netcore2.0).
28+
29+
## Tabla de contenido
30+
31+
- [Requisitos previos](#prerequisites)
32+
- [Registrar la aplicación](#register-the-app)
33+
- [Configurar y ejecutar el ejemplo](#configure-and-run-the-sample)
34+
- [Componentes clave del ejemplo](#key-components-of-the-sample)
35+
- [Colaboradores](#contributing)
36+
- [Preguntas y comentarios](#questions-and-comments)
37+
- [Recursos adicionales](#additional-resources)
38+
39+
## Diferencias entre ADAL y MSAL
40+
41+
ADAL (Azure AD v 1.0) y MSAL (Azure AD v 2.0) son dos bibliotecas de autenticación para una amplia variedad de idiomas, lo que le permite adquirir tokens de Azure AD para obtener acceso a las API web protegidas (API de Microsoft o aplicaciones registradas con Azure Active Directory). Las aplicaciones de ADAL permiten que los usuarios inicien sesión con su cuenta profesional y educativa y deben registrarse en [Azure Portal](https://portal.azure.com/), mientras que las aplicaciones que usan la nueva (versión preliminar) MSAL, permiten que los usuarios inicien sesión con sus cuentas profesionales o educativas, o con sus cuentas personales y deben registrarse en el [portal de registro de aplicaciones](https://apps.dev.microsoft.com/), a menos que sean aplicaciones Azure AD B2C. Tanto ADAL como MSAL tienen sus bibliotecas de cliente de .NET: [ADAL.NET](https://github.com/AzureAD/azure-activedirectory-library-for-dotnet) y [MSAL.NET](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet) respectivamente. [Obtenga más información sobre la migración y las diferencias entre ADAL.NET y MSAL.NET aquí.](https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/adal-to-msal)
42+
43+
## Requisitos previos
44+
45+
Para usar el ejemplo conexión de Microsoft Graph para ASP.NET Core 2.1, necesita lo siguiente:
46+
47+
- Visual Studio 2017[ con .NET Core 2.1 SDK](https://www.microsoft.com/net/download/core) instalado en el equipo de desarrollo.
48+
- Una [cuenta de Microsoft personal](https://signup.live.com) o una [cuenta profesional o educativa](https://dev.office.com/devprogram). (No tiene que ser administrador del espacio empresarial).
49+
- El Id. de la aplicación y la clave que [registró en el portal de registro de aplicaciones](#register-the-app).
50+
51+
## Registrar la aplicación
52+
53+
1. Vaya a [Azure AD Portal](https://portal.azure.com). Inicie sesión con una **cuenta personal** (por ejemplo: cuenta de Microsoft) o **cuenta profesional o educativa** con permisos para crear registros de aplicación.
54+
55+
> **Nota:** Si no tiene permisos para crear registros de aplicaciones, póngase en contacto con su administrador de dominio de Azure AD.
56+
57+
2. Haga clic en **Azure Active Directory** en el menú de navegación izquierdo.
58+
59+
3. Haga clic en **Registro de aplicaciones** en el panel de navegación de la hoja actual.
60+
61+
4. Haga clic en **Registro nuevo** en el contenido de la hoja actual.
62+
63+
5. En la página **Registrar una aplicación**, especifique los siguientes valores:
64+
65+
- **Nombre** = [nombre de la aplicación deseada]
66+
- **Tipos de cuenta compatibles** = [Elija el valor que se aplica a sus necesidades]
67+
- **URI de redirección**
68+
- Tipo (lista desplegable) = Web
69+
- Valor = `https://localhost:44334/signin-oidc`
70+
71+
> **Nota:** Asegúrese de que el valor de la dirección URI de redirección es único en el dominio. Este valor se puede cambiar posteriormente y no es necesario que apunte a un URI alojado. Si el URI de ejemplo anterior ya está en uso, elija un valor único.
72+
73+
1. En **opciones avanzadas**, establezca el valor del **URL de cierre de sesión** en `https://localhost:44334/Account/SignOut`
74+
2. Copie el **URI de redirección**, ya que lo necesitará más adelante.
75+
76+
6. Una vez que se haya creado la aplicación, copie la **Id. de aplicación (cliente)** y la **identificación de directorio (espacio empresarial)** de la página de información general y almacénelas temporalmente, ya que las necesitará más adelante.
77+
78+
7. Haga clic en **Certificados y secretos** en el panel de navegación de la hoja actual.
79+
80+
1. Haga clic en **Nuevo secreto de cliente**.
81+
2. En el cuadro de diálogo **agregar un secreto de cliente**, especifique los siguientes valores:
82+
83+
- **Descripción** = MyAppSecret1
84+
- **Expira** = en 1 día
85+
86+
3. Haga clic en **Agregar**.
87+
88+
4. Después de que la pantalla se haya actualizado con el secreto del cliente recién creado, copie el **VALOR** del secreto del cliente y guárdelo temporalmente, ya que lo necesitará más adelante.
89+
90+
> **Importante:**
91+
> El secreto de cliente no se vuelve a mostrar, así que asegúrese de copiarlo en este momento. En las aplicaciones de producción siempre debe usar certificados como secretos de aplicación, pero para este ejemplo usaremos una contraseña secreta compartida simple.
92+
93+
8. Haga clic en **Autenticación** en el panel de navegación de la hoja actual.
94+
1. Seleccione "Tokens de identificador"
95+
9. Haga clic en **Permisos de API** en el panel de navegación de la hoja actual.
96+
97+
1. Haga clic en **Agregar un permiso** en el contenido de la hoja actual.
98+
2. En el panel **Solicitar permisos de API** seleccione **Microsoft Graph**.
99+
100+
3. Seleccione **Permisos delegados**.
101+
4. En el cuadro de búsqueda "Seleccionar permisos", escriba "usuario".
102+
5. Seleccione **OpenID**, **correo electrónico**, **perfil**, **offline_access**, **User.Read**, **User.ReadBasic.All** y **Mail.Send**.
103+
104+
6. Haga clic en **Agregar permisos** en la parte inferior del control flotante.
105+
106+
> **Nota:** Microsoft recomienda que enumere explícitamente todos los permisos delegados al registrar la aplicación. Aunque las funciones de consentimiento incremental y dinámico del punto de conexión V2 hacen que este paso sea opcional, no hacerlo puede afectar negativamente el consentimiento del administrador.
107+
108+
## Configurar y ejecutar el ejemplo
109+
110+
1. Descargue o clone el ejemplo para conectarse a Microsoft Graph para ASP.NET Core.
111+
112+
2. Abra el archivo de ejemplo **MicrosoftGraphAspNetCoreConnectSample.sln** en Visual Studio 2017.
113+
114+
3. En el Explorador de soluciones, abra el archivo **appsettings.json** en el directorio raíz del proyecto.
115+
116+
A. Para la clave **AppID**, reemplace `ENTER_YOUR_APP_ID` con el Id. de la aplicación de la aplicación registrada.
117+
118+
B. Para la clave **AppSecret**, reemplace `ENTER_YOUR_SECRET` con la contraseña de la aplicación registrada. Tenga en cuenta que en las aplicaciones de producción siempre debe usar certificados como secretos de aplicación, pero para este ejemplo usaremos una contraseña secreta compartida simple.
119+
120+
4. Pulse F5 para compilar y ejecutar el ejemplo. Esto restaurará las dependencias de paquetes de NuGet y abrirá la aplicación.
121+
122+
> Si observa algún error durante la instalación de los paquetes, asegúrese de que la ruta de acceso local donde colocó la solución no es demasiado larga o profunda. Para resolver este problema, mueva la solución más cerca de la raíz de la unidad.
123+
124+
5. Inicie sesión con su cuenta personal (MSA) o su cuenta profesional o educativa y otorgue los permisos solicitados.
125+
126+
6. Debe ver la imagen de perfil y los datos de perfil en JSON en la página de inicio.
127+
128+
7. Cambie la dirección de correo electrónico en el cuadro al correo electrónico de otra cuenta válida en el mismo espacio empresarial y elija el botón **cargar datos**. Cuando la operación se completa, el perfil del usuario elegido se muestra en la página.
129+
130+
8. Si lo desea, modifique la lista de destinatarios y, después, seleccione el botón **Enviar correo electrónico**. Cuando se envía el correo, se muestra un mensaje de Éxito en la parte superior de la página.
131+
132+
## Componentes clave del ejemplo
133+
134+
Los siguientes archivos contienen código relacionado con la conexión a Microsoft Graph, la carga de datos del usuario y el envío de correos electrónicos.
135+
136+
- [`appsettings.json`](MicrosoftGraphAspNetCoreConnectSample/appsettings.json) contiene los valores utilizados para autenticación y autorización.
137+
- [`Startup.cs`](MicrosoftGraphAspNetCoreConnectSample/Startup.cs) configura la aplicación y los servicios que utiliza, incluida la autenticación.
138+
139+
### Controladores
140+
141+
- [`AccountController.cs`](MicrosoftGraphAspNetCoreConnectSample/Controllers/AccountController.cs) controla el inicio y el cierre de sesión.
142+
- [`HomeController.cs`](MicrosoftGraphAspNetCoreConnectSample/Controllers/HomeController.cs) controla las solicitudes de la interfaz de usuario.
143+
144+
### Vistas
145+
146+
- [`Index.cshtml`](MicrosoftGraphAspNetCoreConnectSample/Views/Home/Index.cshtml) contiene la interfaz de usuario del ejemplo.
147+
148+
### Aplicaciones auxiliares
149+
150+
- [`GraphAuthProvider.cs`](MicrosoftGraphAspNetCoreConnectSample/Helpers/GraphAuthProvider.cs) obtiene un token de acceso utilizando el método **AcquireTokenSilent** de MSAL.
151+
- [`GraphSdkHelper.cs`](MicrosoftGraphAspNetCoreConnectSample/Helpers/GraphSDKHelper.cs) inicia el cliente SDK usado para interactuar con Microsoft Graph.
152+
- [`GraphService.cs`](MicrosoftGraphAspNetCoreConnectSample/Helpers/GraphService.cs) contiene métodos que usan **GraphServiceClient** para generar y enviar llamadas al servicio Microsoft Graph y procesar la respuesta.
153+
- La acción **GetUserJson** obtiene el perfil de usuario con una dirección de correo electrónico y lo convierte en JSON.
154+
- La acción **GetPictureBase64** obtiene la imagen de perfil del usuario y la convierte en una cadena base64.
155+
- La acción **SendEmail** envía un correo electrónico en nombre del usuario actual.
156+
157+
## Colaboradores
158+
159+
Si quiere hacer su aportación a este ejemplo, vea [CONTRIBUTING.MD](/CONTRIBUTING.md).
160+
161+
Este proyecto ha adoptado el [Código de conducta de código abierto de Microsoft](https://opensource.microsoft.com/codeofconduct/). Para obtener más información, vea [Preguntas frecuentes sobre el código de conducta](https://opensource.microsoft.com/codeofconduct/faq/) o póngase en contacto con [[email protected]](mailto:[email protected]) si tiene otras preguntas o comentarios.
162+
163+
## Preguntas y comentarios
164+
165+
Nos encantaría recibir sus comentarios sobre el ejemplo para conectarse a Microsoft Graph para ASP.NET Core. Puede enviarnos sus preguntas y sugerencias a través de la sección [Problemas](https://github.com/microsoftgraph/aspnetcore-connect-sample/issues) de este repositorio.
166+
167+
Las preguntas sobre Microsoft Graph en general deben publicarse en [desbordamiento de pila](https://stackoverflow.com/questions/tagged/MicrosoftGraph). Asegúrese de que sus preguntas o comentarios estén etiquetados con _[MicrosoftGraph]_.
168+
169+
Puede sugerir cambios para Microsoft Graph en [UserVoice](https://officespdev.uservoice.com/).
170+
171+
## Recursos adicionales
172+
173+
- [Documentación de Microsoft Graph](https://developer.microsoft.com/graph)
174+
- [Otros ejemplos para conectarse a Microsoft Graph](https://github.com/MicrosoftGraph?q=connect)
175+
- [Ejemplo de Webhooks de Microsoft Graph para ASP.NET Core](https://github.com/microsoftgraph/aspnetcore-apponlytoken-webhooks-sample)
176+
- [Ejemplo para conectarse a Microsoft Graph para ASP.NET 4.6](https://github.com/microsoftgraph/aspnet-connect-sample)
177+
178+
## Derechos de autor
179+
180+
Copyright (c) 2019 Microsoft. Todos los derechos reservados.

0 commit comments

Comments
 (0)