viernes, 19 de octubre de 2018

Schema is not defined

https://stackoverflow.com/questions/24908405/mongoose-and-new-schema-returns-referenceerror-schema-is-not-defined

miércoles, 17 de octubre de 2018

cache de computadora

https://techlandia.com/limpiar-cache-computadora-como_5973/ 

martes, 16 de octubre de 2018

$(...).modal is not a function

https://stackoverflow.com/questions/25757968/bootstrap-modal-is-not-a-function

httpClient

https://stackoverflow.com/questions/47236963/no-provider-for-httpclient

sábado, 13 de octubre de 2018

how to embed a map

https://www.youtube.com/watch?v=ut3HYH3SJtQ

array contain

https://stackoverflow.com/questions/42790602/how-do-i-check-whether-an-array-contains-a-string-in-typescript/42790792 

http-server

https://www.npmjs.com/package/http-server 

ANGULAR CLI over HTTPS

https://medium.com/@rubenvermeulen/running-angular-cli-over-https-with-a-trusted-certificate-4a0d5f92747a

https://stackoverflow.com/questions/51846422/http-localhost4200-dashboard-extra-in-url-angular-5/51846582#51846582

Integracion entre paypal y angular 6

https://enngage.github.io/ngx-paypal/

viernes, 12 de octubre de 2018

instalar certificados ssl

https://mx.godaddy.com/help/firma-de-codigo-de-java-descargar-certificado-de-andamp-signo-codigo-20273

Firma de código de Java: Descargar certificado de & signo código

Después de comprobar su solicitud de certificado, puede descargar los archivos de certificado y utilizarlos para firmar el código de Java.

Descarga del certificado

  1. En el Administrador de certificados SSL, haga clic en Descargar.
    1. No está en el Administrador de certificados SSL? Iniciar sesión en su cuenta de GoDaddy.
    2. Haga clic en certificados SSL.
    3. Junto a la cuenta que desea utilizar, haga clic en Administrar.
    4. Completar el paso 1 anterior.
  2. Haga clic en Descargar archivo ZIP.

Mover el archivo de certificado

  1. Descomprima el ZIP descargar el archivo.
  2. Abra la carpeta descomprimida y busque el archivo que termina en -SHA2.pem .
  3. (Opcional) Cambiar el nombre de la PEM archivo a algo más fácil escribir, por ejemplo mycert.pem .
  4. Mover el PEM archivo al lugar donde se creó el almacén de claves.

    Los usuarios de Windows, se trata de la bin directorio de la instalación de JDK, por ejemplo:
    C:\Program Files\java\jdkversion number\bin

Preparación sólo para Windows

Si utiliza Windows, debe completar los siguientes pasos antes de poder instalar el certificado y firmar el código.
  1. Ejecutar cmd como administrador.
  2. Mover a la instalación de JDK bin directory:
    cd C:\Program Files\java\jdkversion number\bin

Instalar el certificado

  1. A través de la línea de comandos, desplácese al directorio donde creó el almacén de claves. (Los usuarios de Windows deben estar aquí.)
  2. Instalar el certificado:
    mycert.pem -keystore codesignstore
  3. Escriba la contraseña del almacén de claves.
  4. Escriba  que desea confiar en el certificado y, a continuación, presione ENTRAR.

Firmar el código

  1. Firmar el código:
    your jar file.jar codesigncert
    Los usuarios de Windows que tenga que utilizar las rutas completas a su almacén de claves ( JKS ) y JAR archivos.
  2. Escriba la contraseña del almacén de claves.
  3. Compruebe que el código está firmado.
    your jar file.jar
Si todo funcionaba, verá jar verificado.
Usted debería ver "este jar contiene entradas cuya cadena de certificados no está validado." La presencia de esta advertencia hace no indican que su certificado no funcionará.

Paso siguiente

  • Eso es todo! Ahora puede comenzar a distribuir el código firmado.

almacen de certificados donde esta?


en windows ejecutar  certmgr.msc

Fuente: https://www.enmimaquinafunciona.com/pregunta/36965/donde-esta-la-carpeta-de-certificados-en-windows-7

GENERAR CSR para SSL

 https://mx.godaddy.com/help/generar-una-csr-solicitud-para-firma-de-certificado-5343?

windows, openssl

Cómo generar una solicitud de firma para certificado para certificados con firma codificada.

Cuando solicita un certificado con firma codificada, necesitará una solicitud de firma para certificado (CSR, por sus siglas en inglés) para su computadora. Recientes versiones de Internet Explorer® o Firefox®, pueden generar automáticamente un CSR para usted. Sin embargo, si usa un navegador distinto, tal como Chrome® o Safari®, necesitará crear manualmente un CSR usando una herramienta, tal como OpenSSL. Para más información, visite http://www.openssl.org.

Para generar manualmente una solicitud para firma de certificado para certificados con firma codificada

  1. Abra OpenSSL., copiar la carpeta OpenSSL en C, y copiar el archivo openssl.cnf a la ruta: C:\OpenSSL
  2. Escriba el siguiente comando desde la ruta: C:\OpenSSL\bin :
    openssl req -out CSR.csr -new -newkey rsa:2048 -nodes -keyout privateKey.key
  3. Ingrese la información específica en Distinguished Name:
    • Código de país — Formato de código de país de dos letras para la Organización Internacional para la Normalización (ISO, por sus siglas en inglés) en la que está registrada legalmente su organización.
    • Estado/Provincia — Nombre de estado o provincia en que está ubicada su organización — favor de no abreviar.
    • Ubicación — Nombre de la ciudad en la que esté registrada/ubicada su organización — favor de no abreviar.
    • Nombre de organización — Nombre legal completo de su organización.
    • Unidad Organizacional — Opcional.
    • Nombre común — Nombre legal completo de su organización.
    • Dirección de correo electrónico — Su dirección de correo electrónico.
  4. Mueva CSR.csr y privateKey.key al escritorio de su computadora.
Cuando complete la forma de solicitud en internet, proporcione la información del archivo CSR.csr. Abra CSR.csr en un editor de texto, tal como Notepad, copie todo el texto y luego colóquelo dentro del campo CSR en la solicitud. Para más información, vea Cómo solicitar un certificado firmado con código.

The Common Name (also CN) identifies the host name associated with the certificate, for example www.example.com or example.com.


https://github.com/node-apn/node-apn/wiki/Preparing-Certificates 

para ejecutar el comando keytools

https://es.stackoverflow.com/questions/93157/keytool-no-se-reconoce-como-un-comando-interno-o-externo-programa-o-archivo-p


aceptada
El problema que comentas
"keytool" no se reconoce como un comando interno o externo, programa o archivo por lotes ejecutable
Se debe a que donde tratas de ejecutar keytool en realidad no existe, si no esta definido el directorio en las variables de ambiente en windows simplemente no podras accesarlo desde cualquier folder, asegura el path este correctamente definido (Cuando defines una variable de ambiente en las versiones actuales de Windows me parece que no es necesario un reinicio de tu pc, pero podría ser una opción).
Si aseguras que la ruta definida es la correcta en la variable %JAVA_HOME%, realiza el cambio a tu directorio en la linea de comandos de esta forma
cd %JAVA_HOME%\bin
recuerda que keytool se encuentra en el directorio \bin , posteriormente
realiza la operacion que deseas
keytool -exportcert -list -v \
-alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore

Enter keystore password: which


keytool -genkey -alias server-alias -keyalg RSA -keypass changeit -storepass changeit -keystore keystore.jks


keytool -export -alias server-alias -storepass changeit -file server.cer -keystore keystore.jks


keytool -import -v -trustcacerts -alias server-alias -file server.cer -keystore cacerts.jks -keypass changeit -storepass changeit


keytool -list -v -keystore keystore.jks

NOTE: the key is changeit

martes, 9 de octubre de 2018

java token validation


descargar librerias de aca:

https://jar-download.com/artifacts/com.google.api-client/google-api-client/1.19.1/source-code


package com.donacolombia.servicios;
import java.io.IOException;
import java.security.GeneralSecurityException;
import java.util.Collections;

import javax.ejb.Stateless;
import javax.ws.rs.Consumes;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import com.google.api.client.googleapis.auth.oauth2.GoogleIdToken;
import com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier;
import com.google.api.client.http.HttpTransport;
import com.google.api.client.http.javanet.NetHttpTransport;
import com.google.api.client.json.jackson2.JacksonFactory;
import com.google.api.client.json.webtoken.JsonWebToken.Payload;



@Stateless
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
@Path("/")
public class googleAuthServicio {

private static final HttpTransport transport = new NetHttpTransport();
private static final JacksonFactory jsonFactory = new JacksonFactory();
private static String CLIENT_ID="730668996871-vbaqti0vs3nubfhjv59cj7q7hkcgrni5.apps.googleusercontent.com";
@POST
@Path("/verificarToken")
public void verificarToken(String idTokenString){

GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(transport, jsonFactory)
    // Specify the CLIENT_ID of the app that accesses the backend:
    .setAudience(Collections.singletonList(CLIENT_ID))
    // Or, if multiple clients access the backend:
    //.setAudience(Arrays.asList(CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3))
    .build();
   
// (Receive idTokenString by HTTPS POST)

GoogleIdToken idToken = null;
try {
idToken = verifier.verify(idTokenString);
} catch (GeneralSecurityException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (idToken != null) {
  Payload payload = idToken.getPayload();

  // Print user identifier
  String userId = payload.getSubject();
  System.out.println("User ID: " + userId);

  // Get profile information from payload
  String email = ((com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload) payload).getEmail();
  boolean emailVerified = Boolean.valueOf(((com.google.api.client.googleapis.auth.oauth2.GoogleIdToken.Payload) payload).getEmailVerified());
  String name = (String) payload.get("name");
  String pictureUrl = (String) payload.get("picture");
  String locale = (String) payload.get("locale");
  String familyName = (String) payload.get("family_name");
  String givenName = (String) payload.get("given_name");

  // Use or store profile information
  // ...

} else {
  System.out.println("Invalid ID token.");
}
}


}

sábado, 6 de octubre de 2018

CREAR UN FORMGROUP Y DEFINIRLO


forma: FormGroup = new FormGroup({});


this.forma = new FormGroup({
nombre: new FormControl('', [Validators.required, Validators.minLength(3)]),
apellido: new FormControl('', [Validators.required, Validators.minLength(3)]),
correo: new FormControl('', [Validators.required, Validators.minLength(3), Validators.pattern("[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,3}$") )
});

en el formulario me sale Uncaught ReferenceError: apellido is not defined at Module../src/app/components/template/template.component.ts y lo tengo definido en el objeto... : export class TemplateComponent {

 hero: any = { 
   id: 1,   
name: 'Windstorm'
  };  

is not defined at new DataComponent formGroup

ruleForm: FormGroup = new FormGroup({});

miércoles, 3 de octubre de 2018

ERROR ReferenceError: heroe is not defined at HeroesService.push

let heroe= this.heroes[i];


y no this.heroe

Cannot read property 'backdrop_path' of undefined

Cannot read property 'backdrop_path' of undefined
Este error es básicamente que quieres usar esa propiedad backdrop_path  de algo que tiene el valor de undefined
Debes de asegurarte que antes de usar el backdrop_path , el objeto que contiene esa propiedad EXISTA y tenga algún valor ahí

Uncaught Error: Can't resolve all parameters for BuscadorComponent: ([object Object], ?, ?).

Uncaught Error: Can't resolve all parameters for BuscadorComponent: ([object Object], ?, ?).
faltan los 2 puntos:


private _heroesService :HeroesService

compiler.js:1021 Uncaught Error: Template parse errors: Can't bind to 'routerlink' since it isn't a known property of 'a'.

obtengo este error al poner el routerlink en en heroe.component.html , como puedo resolverlo, gracias de antemano:
compiler.js:1021 Uncaught Error: Template parse errors:
Can't bind to 'routerlink' since it isn't a known property of 'a'. ("       


me faltaba poner routerLink en lugar de routerlink. L mayuscula.