{"id":7217,"date":"2020-12-12T15:26:50","date_gmt":"2020-12-12T14:26:50","guid":{"rendered":"http:\/\/www.unimedia.tech.mialias.net\/implement-authentication-in-angular-using-aws-amplify\/"},"modified":"2024-01-04T16:00:38","modified_gmt":"2024-01-04T15:00:38","slug":"implement-authentication-in-angular-using-aws-amplify","status":"publish","type":"post","link":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/","title":{"rendered":"Implementar autenticaci\u00f3n en Angular con AWS Amplify"},"content":{"rendered":"\n<p><\/p>\n\n<p>Este art\u00edculo trata sobre c\u00f3mo implementar Autenticaci\u00f3n en un <a href=\"https:\/\/www.unimedia.tech\/software-maintenance\/\">Angular <\/a>usando AWS amplify en un periodo de tiempo muy corto. Como empresa de desarrollo especializada, ofrecemos los servicios de <a href=\"https:\/\/www.unimedia.tech\/software-development\/\">software a medida<\/a> y un <a href=\"https:\/\/www.unimedia.tech\/dedicated-development-teams\/\">equipo dedicado<\/a> a ayudar a nuestros clientes en este tipo de implantaciones.<\/p>\n\n<p>As\u00ed que, como vimos en el <a href=\"https:\/\/www.unimedia.tech\/2020\/11\/27\/aws-amplify-with-angular-chat\/\" target=\"_blank\" rel=\"noreferrer noopener\">art\u00edculo anterior,<\/a> <\/p>\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p><em>AWS Amplify es un conjunto de herramientas y servicios que permite a los desarrolladores web m\u00f3viles y front-end crear aplicaciones de pila completa seguras y escalables con la tecnolog\u00eda de AWS.<\/em><\/p><\/blockquote>\n\n<p>Por lo tanto, aqu\u00ed vamos a explorar otro caso de uso de AWS amplificar, que es a\u00f1adir la autenticaci\u00f3n a la aplicaci\u00f3n web angular utilizando amplificar de 2 maneras, <\/p>\n\n<p>1. Utilizar componentes de interfaz de usuario predefinidos<\/p>\n\n<p>2. Llamar manualmente a las API de autenticaci\u00f3n<\/p>\n\n<p><\/p>\n\n<p><\/p>\n\n<h3 class=\"wp-block-heading\">Requisitos previos:<\/h3>\n\n<ul class=\"wp-block-list\"><li>Node.js versi\u00f3n 10 o posterior<\/li><li>Cuenta AWS<\/li><\/ul>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Crear una nueva aplicaci\u00f3n Angular<\/h2>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>Utiliza la <a target=\"_blank\" href=\"https:\/\/github.com\/angular\/angular-cli\" rel=\"noreferrer noopener\">CLI de Angular<\/a> para arrancar una nueva aplicaci\u00f3n Angular:<\/p>\n\n<pre class=\"wp-block-code\"><code>npx -p @angular\/cli ng new amplify-app\n\n? Would you like to add Angular routing? Y\n? Which stylesheet format would you like to use? (your preferred stylesheet provider)\n\ncd amplify-app<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Compatibilidad con Angular 6+<\/h2>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>Actualmente, las versiones m\u00e1s recientes de Angular (6+) no incluyen calces para &#8216;global&#8217; o &#8216;process&#8217; como se proporcionaban en versiones anteriores. A\u00f1ade lo siguiente a tu archivo <code>src\/polyfills.ts<\/code> para recrearlos:<\/p>\n\n<p><\/p>\n\n<pre class=\"wp-block-code\"><code>(window as any).global = window;\n(window as any).process = {\n  env: { DEBUG: undefined },\n};<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Iniciar el proyecto Amplify<\/h2>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>Ahora que tenemos una aplicaci\u00f3n Angular en ejecuci\u00f3n, es el momento de configurar Amplify para esta aplicaci\u00f3n<\/p>\n\n<p><\/p>\n\n<p><\/p>\n\n<pre class=\"wp-block-code\"><code>amplify init\n\nEnter a name for the project (amplify-auth-angular)\n\n# All AWS services you provision for your app are grouped into an \"environment\"\n# A common naming convention is dev, staging, and production\nEnter a name for the environment (dev)\n\n# Sometimes the CLI will prompt you to edit a file, it will use this editor to open those files.\nChoose your default editor\n\n# Amplify supports JavaScript (Web &amp; React Native), iOS, and Android apps\nChoose the type of app that you're building (javascript)\n\nWhat JavaScript framework are you using (angular)\n\nSource directory path (src)\n\nDistribution directory path (dist)\nChange from dist to dist\/amplify-auth-angular\n\nBuild command (npm run-script build)\n\nStart command (ng serve or npm start)\n\n# This is the profile you created with the `amplify configure` command in the introduction step.\nDo you want to use an AWS profile\n\n<\/code><\/pre>\n\n<p><\/p>\n\n<p>The above given process <em>creates a file called <\/em><code>aws-exports.js<\/code><em> in the <\/em><code>src<\/code><em> directory<\/em><\/p>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Instala las dependencias de Amplify y Angular<\/h2>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>Dentro del directorio <code>amplify-auth-angular<\/code>, instala la librer\u00eda Amplify Angular y ejecuta tu aplicaci\u00f3n:<\/p>\n\n<pre class=\"wp-block-code\"><code>npm install --save aws-amplify @aws-amplify\/ui-angular\n\nnpm start<\/code><\/pre>\n\n<p><\/p>\n\n<p>El paquete <code>@aws-amplify\/ui-angular<\/code> es un conjunto de componentes Angular y un proveedor Angular que ayuda a integrar su aplicaci\u00f3n con la biblioteca AWS-Amplify.<\/p>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Crear servicio de autenticaci\u00f3n en Angular<\/h2>\n\n<p><\/p>\n\n<p>Para empezar desde cero, ejecute el siguiente comando en la carpeta ra\u00edz de su proyecto:<\/p>\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\"><p>Si desea reutilizar un recurso de autenticaci\u00f3n existente de AWS (por ejemplo, Amazon Cognito UserPool o Identity Pool) consulte <a class=\" href=\" https:=\"\">esta secci\u00f3n<\/a>.<\/p><\/blockquote>\n\n<pre class=\"wp-block-code\"><code>amplify add auth<\/code><\/pre>\n\n<pre class=\"wp-block-code\"><code>? Do you want to use the default authentication and security configuration? Default configuration\n? How do you want users to be able to sign in? Username\n? Do you want to configure advanced settings?  No, I am done.<\/code><\/pre>\n\n<p>Para desplegar el servicio, ejecute el comando <code>push<\/code>:<\/p>\n\n<pre class=\"wp-block-code\"><code>amplify push<\/code><\/pre>\n\n<p>Ahora, el servicio de autenticaci\u00f3n se ha desplegado y puede empezar a utilizarlo. Para ver los servicios desplegados en su proyecto en cualquier momento, vaya a Amplify Console ejecutando el siguiente comando:<\/p>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Configurar AWS Amplify en la aplicaci\u00f3n<\/h2>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>En el punto de entrada de tu aplicaci\u00f3n (es decir, <strong>main.ts<\/strong>), importa y carga el archivo de configuraci\u00f3n:<\/p>\n\n<pre class=\"wp-block-code\"><code>import { Amplify } from '@aws-amplify\/core';\nimport { Auth } from '@aws-amplify\/auth';\nimport awsconfig from '.\/aws-exports';\n\nAmplify.configure(awsconfig);\nAuth.configure(awsconfig);<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Importar el m\u00f3dulo AWS Amplify UI<\/h2>\n\n<p><\/p>\n\n<p><\/p>\n\n<p><strong>Archivo<\/strong>: app.module.ts<\/p>\n\n<pre class=\"wp-block-code\"><code>import { BrowserModule } from '@angular\/platform-browser';\nimport { NgModule } from '@angular\/core';\n\n\/* import AmplifyUIAngularModule  *\/\nimport { AmplifyUIAngularModule } from '@aws-amplify\/ui-angular';\n\nimport { AppRoutingModule } from '.\/app-routing.module';\nimport { AppComponent } from '.\/app.component';\n\n@NgModule({\n  declarations: &#91;\n    AppComponent\n  ],\n  imports: &#91;\n    BrowserModule,\n    AppRoutingModule,\n    \/* configure app with AmplifyUIAngularModule *\/\n    AmplifyUIAngularModule\n  ],\n  providers: &#91;],\n  bootstrap: &#91;AppComponent]\n})\nexport class AppModule { }<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>Reemplace el contenido dentro de <em><strong>app.component.ts<\/strong><\/em> con lo siguiente:<\/p>\n\n<p><\/p>\n\n<pre class=\"wp-block-code\"><code>import { Component, ChangeDetectorRef } from '@angular\/core';\nimport { onAuthUIStateChange, CognitoUserInterface, AuthState } from '@aws-amplify\/ui-components';\n\n@Component({\n  selector: 'app-root',\n  templateUrl: '.\/app.component.html',\n  styleUrls: &#91;'.\/app.component.css']\n})\nexport class AppComponent {\n  title = 'amplify-angular-auth';\n  user: CognitoUserInterface | undefined;\n  authState: AuthState;\n\n  constructor(private ref: ChangeDetectorRef) {}\n\n  ngOnInit() {\n    onAuthUIStateChange((authState, authData) =&gt; {\n      this.authState = authState;\n      this.user = authData as CognitoUserInterface;\n      this.ref.detectChanges();\n    })\n  }\n\n  ngOnDestroy() {\n    return onAuthUIStateChange;\n  }\n}<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<p>Reemplace el contenido dentro de <em><strong>app.component.<\/strong><\/em><strong>html <\/strong>con el c\u00f3digo html dado,<\/p>\n\n<p><\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;amplify-authenticator *ngIf=\"authState !== 'signedin'\"&gt;&lt;\/amplify-authenticator&gt;\n\n&lt;div *ngIf=\"authState === 'signedin' &amp;&amp; user\" class=\"App\"&gt;\n    &lt;amplify-sign-out&gt;&lt;\/amplify-sign-out&gt;\n    &lt;div&gt;Hello, {{user.username}}&lt;\/div&gt;\n    &lt;!-- This is where you application template code goes --&gt;  \n&lt;\/div&gt;<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<p><\/p>\n\n<figure class=\"wp-block-image size-large is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/image-22.png\" alt=\" clase\" wp-image-3149=\"\" width=\"646\" height=\"617\"\/><\/figure>\n\n<p><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Personalizaci\u00f3n de la interfaz de usuario con Angular<\/h2>\n\n<p><\/p>\n\n<p>Si desea personalizar los campos de formulario del componente Authenticator Sign In o Sign Up, puede hacerlo utilizando la propiedad <strong><em><code>formFields<\/code><\/em><\/strong>propiedad<\/p>\n\n<p>En <strong><em>app.component.ts<\/em><\/strong> a\u00f1ade <strong><em>formFields <\/em><\/strong>como sigue:<\/p>\n\n<pre class=\"wp-block-code\"><code>formFields = &#91;\n      {\n        type: \"email\",\n        label: \"Custom email Label\",\n        placeholder: \"custom email placeholder\",\n        required: true,\n      },\n      {\n        type: \"password\",\n        label: \"Custom Password Label\",\n        placeholder: \"custom password placeholder\",\n        required: true,\n      },\n      {\n        type: \"phone_number\",\n        label: \"Custom Phone Label\",\n        placeholder: \"custom Phone placeholder\",\n        required: false,\n      },\n    ];\n  }<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<p><strong>Archivo<\/strong>: app.componen.html<\/p>\n\n<p><\/p>\n\n<pre class=\"wp-block-code\"><code>&lt;amplify-authenticator usernameAlias=\"email\"&gt;\n  &lt;amplify-sign-up\n    slot=\"sign-up\"\n    usernameAlias=\"email\"\n    &#91;formFields]=\"formFields\"\n  &gt;&lt;\/amplify-sign-up&gt;\n  &lt;amplify-sign-in slot=\"sign-in\" usernameAlias=\"email\"&gt;&lt;\/amplify-sign-in&gt;\n&lt;\/amplify-authenticator&gt;<\/code><\/pre>\n\n<p><\/p>\n\n<p><\/p>\n\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" src=\"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/image-1-18.png\" alt=\" clase\" wp-image-3156=\"\" width=\"640\" height=\"613\"\/><\/figure>\n\n<p>Para ver m\u00e1s opciones: <a href=\"https:\/\/docs.amplify.aws\/ui\/auth\/authenticator\/q\/framework\/angular#customization\">https:\/\/docs.amplify.aws\/ui\/auth\/authenticator\/q\/framework\/angular#customization<\/a><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Ejemplo de c\u00f3digo Angular en Github<\/h2>\n\n<p><\/p>\n\n<p>Si tiene alg\u00fan problema en alg\u00fan momento, puede consultar la aplicaci\u00f3n completa aqu\u00ed,<\/p>\n\n<p><a href=\"https:\/\/github.com\/unimedia-technology\/amplify-auth-angular\" target=\"_blank\" rel=\"noreferrer noopener\">https:\/\/github.com\/unimedia-technology\/amplify-auth-angular<\/a><\/p>\n\n<p><\/p>\n\n<h2 class=\"wp-block-heading\">Unimedia Technology<\/h2>\n\n<p>Aqu\u00ed en <a href=\"https:\/\/www.unimedia.tech\/\">Unimedia Technology<\/a> tenemos un equipo de <strong>Desarrolladores Angular<\/strong> que pueden desarrollar sus aplicaciones Web Single Page m\u00e1s desafiantes utilizando las \u00faltimas tecnolog\u00edas de AWS.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Este art\u00edculo trata sobre c\u00f3mo implementar Autenticaci\u00f3n en un Angular usando AWS amplify en un periodo de tiempo muy corto. Como empresa de desarrollo especializada, ofrecemos los servicios de software a medida y un equipo dedicado a ayudar a nuestros clientes en este tipo de implantaciones. As\u00ed que, como vimos en el art\u00edculo anterior, AWS [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":6584,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[198,201,220],"tags":[],"class_list":["post-7217","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-angular-es","category-aws-es","category-technical-guides-es"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.6 (Yoast SEO v27.1.1) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Implementar autenticaci\u00f3n en Angular con AWS Amplify - Unimedia Technology<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Implementar autenticaci\u00f3n en Angular con AWS Amplify\" \/>\n<meta property=\"og:description\" content=\"Este art\u00edculo trata sobre c\u00f3mo implementar Autenticaci\u00f3n en un Angular usando AWS amplify en un periodo de tiempo muy corto. Como empresa de desarrollo especializada, ofrecemos los servicios de software a medida y un equipo dedicado a ayudar a nuestros clientes en este tipo de implantaciones. As\u00ed que, como vimos en el art\u00edculo anterior, AWS [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/\" \/>\n<meta property=\"og:site_name\" content=\"Unimedia Technology\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.linkedin.com\/company\/unimedia-technology\/\" \/>\n<meta property=\"article:published_time\" content=\"2020-12-12T14:26:50+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-01-04T15:00:38+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/Authentication-using-AWS-Amplify-4.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1120\" \/>\n\t<meta property=\"og:image:height\" content=\"660\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Unimedia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@UnimediaCTO\" \/>\n<meta name=\"twitter:site\" content=\"@UnimediaCTO\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Unimedia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutos\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Implementar autenticaci\u00f3n en Angular con AWS Amplify - Unimedia Technology","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/","og_locale":"es_ES","og_type":"article","og_title":"Implementar autenticaci\u00f3n en Angular con AWS Amplify","og_description":"Este art\u00edculo trata sobre c\u00f3mo implementar Autenticaci\u00f3n en un Angular usando AWS amplify en un periodo de tiempo muy corto. Como empresa de desarrollo especializada, ofrecemos los servicios de software a medida y un equipo dedicado a ayudar a nuestros clientes en este tipo de implantaciones. As\u00ed que, como vimos en el art\u00edculo anterior, AWS [&hellip;]","og_url":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/","og_site_name":"Unimedia Technology","article_publisher":"https:\/\/www.linkedin.com\/company\/unimedia-technology\/","article_published_time":"2020-12-12T14:26:50+00:00","article_modified_time":"2024-01-04T15:00:38+00:00","og_image":[{"width":1120,"height":660,"url":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/Authentication-using-AWS-Amplify-4.png","type":"image\/png"}],"author":"Unimedia","twitter_card":"summary_large_image","twitter_creator":"@UnimediaCTO","twitter_site":"@UnimediaCTO","twitter_misc":{"Escrito por":"Unimedia","Tiempo de lectura":"5 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#article","isPartOf":{"@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/"},"author":{"name":"Unimedia","@id":"https:\/\/www.unimedia.tech\/es\/#\/schema\/person\/3a250aa22526d5c9ff6bc95bb380a5dd"},"headline":"Implementar autenticaci\u00f3n en Angular con AWS Amplify","datePublished":"2020-12-12T14:26:50+00:00","dateModified":"2024-01-04T15:00:38+00:00","mainEntityOfPage":{"@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/"},"wordCount":552,"publisher":{"@id":"https:\/\/www.unimedia.tech\/es\/#organization"},"image":{"@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/Authentication-using-AWS-Amplify-4.png","articleSection":["Angular","AWS","Technical Guides"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/","url":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/","name":"Implementar autenticaci\u00f3n en Angular con AWS Amplify - Unimedia Technology","isPartOf":{"@id":"https:\/\/www.unimedia.tech\/es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#primaryimage"},"image":{"@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#primaryimage"},"thumbnailUrl":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/Authentication-using-AWS-Amplify-4.png","datePublished":"2020-12-12T14:26:50+00:00","dateModified":"2024-01-04T15:00:38+00:00","breadcrumb":{"@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#primaryimage","url":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/Authentication-using-AWS-Amplify-4.png","contentUrl":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/Authentication-using-AWS-Amplify-4.png","width":1120,"height":660,"caption":"Authentication using AWS Amplify"},{"@type":"BreadcrumbList","@id":"https:\/\/www.unimedia.tech\/es\/implement-authentication-in-angular-using-aws-amplify\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.unimedia.tech\/es\/"},{"@type":"ListItem","position":2,"name":"Implementar autenticaci\u00f3n en Angular con AWS Amplify"}]},{"@type":"WebSite","@id":"https:\/\/www.unimedia.tech\/es\/#website","url":"https:\/\/www.unimedia.tech\/es\/","name":"Unimedia Technology","description":"Your software development partner","publisher":{"@id":"https:\/\/www.unimedia.tech\/es\/#organization"},"alternateName":"Unimedia Tech","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.unimedia.tech\/es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/www.unimedia.tech\/es\/#organization","name":"Unimedia Technology","alternateName":"Unimedia Tech","url":"https:\/\/www.unimedia.tech\/es\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.unimedia.tech\/es\/#\/schema\/logo\/image\/","url":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/cloud_border-3.png","contentUrl":"https:\/\/www.unimedia.tech\/wp-content\/uploads\/2023\/12\/cloud_border-3.png","width":403,"height":309,"caption":"Unimedia Technology"},"image":{"@id":"https:\/\/www.unimedia.tech\/es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/company\/unimedia-technology\/","https:\/\/x.com\/UnimediaCTO","https:\/\/www.instagram.com\/unimedia.technology\/"]},{"@type":"Person","@id":"https:\/\/www.unimedia.tech\/es\/#\/schema\/person\/3a250aa22526d5c9ff6bc95bb380a5dd","name":"Unimedia","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.unimedia.tech\/es\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/5901fd1c4628e2b48ffd4e47324e8fe0751b39e556a167f078471d4c4bec0f6f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/5901fd1c4628e2b48ffd4e47324e8fe0751b39e556a167f078471d4c4bec0f6f?s=96&d=mm&r=g","caption":"Unimedia"}}]}},"_links":{"self":[{"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/posts\/7217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/comments?post=7217"}],"version-history":[{"count":0,"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/posts\/7217\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/media\/6584"}],"wp:attachment":[{"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/media?parent=7217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/categories?post=7217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.unimedia.tech\/es\/wp-json\/wp\/v2\/tags?post=7217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}