JS-SDK micro-canales del "ajuste de compartir información" método de generación de la firma digital y la API "

paso


 

El primer paso en cuenta certificado público de micro-canales

En primer lugar usted tiene que tener un número público de micro-canales o una cuenta de desarrollador certificado, no hay certificados cuenta pública. autenticación de firma digital puede tener éxito, pero el intercambio de información no está establecido con éxito;
 

El segundo paso se añade dominio de seguridad

Añadir aplicación en ejecución en el nombre de dirección de plataforma cuenta pública dominio fondo, se puede interpretar como la adición a la función de lista blanca de un nombre de dominio
Para nuestra empresa es árbol de higuera como un ejemplo:
Microcanal número público es: bajo el árbol de higuera, bajo game.4gshu.com añadieron dominio de seguridad digital, entonces yo páginas en game.4gshu.com pueden utilizar las cuentas públicas de la firma Banyan
 

El tercer paso es generar una firma digital

Appid y encontrar una serie secreta por encima de la plataforma pública fondo de micro-canales
Por estos datos, una dirección de petición de dos API pública proporcionada por micro-canales, y luego generar un boleto señal_acceso correspondiente generada por la regla y se encripta en una firma digital
Tenga en cuenta que la firma digital debe ser generado en el lado del servidor, y aquí me dado cuenta de NodeJS
proceso de generación de firma digital específica, versión NodeJS
1, para obtener los micro-firmado la carta señal_acceso requerido  
https.get ( 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid= su escritura appid aquí tu secreto y = secretas escriben aquí', la función (_res) {
                // esta asíncronos devoluciones de llamada donde se puede obtener la señal_acceso 
          })

 

 Nota: El front-end solicitará peticiones entre dominios, el mejor tratamiento es el fondo, no se puede iniciar una solicitud por el cartero

 

2, para obtener las microceldas entradas firmas necesarias

https.get ( 'adquirida en el paso anterior https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token= tipo = & JSAPI la señal_acceso', de función (_res) {
          // esto puede ser adquirido en una devolución de llamada asincrónica Ticket 
});

 Nota: El front-end solicitará peticiones entre dominios, el mejor tratamiento es el fondo, no se puede iniciar una solicitud por el cartero

3, el método específico de la generación de una firma digital
boleto, noncestr, marca de tiempo, por regla url mensaje micro cifran con sha1
noncestr y método de generación de marca de tiempo de función específica en el paquete de muestra de la carta oficial
// noncestr 
     var createNonceStr = función () {
           volver Math.random () toString (36) .substr (2, 15. ); 
     }; 

      // timestamp 
     var createTimeStamp = función () {
           volver parseInt ( nueva + '' Date () getTime () / 1000.) ; 
     };

También puedo consultar el código en el código

// Cálculo firma del método 
     var calcSignature = función (entradas, noncestr, TS, URL) {
           var STR = 'jsapi_ticket =' + entradas + '& noncestr =' + noncestr + '& timestamp =' + TS + '& URL =' + URL; 
          shaObj = SHA1 (STR );
           retorno shaObj ; 
     } 
var Firma = calcSignature (entradas, noncestr, fecha y hora, URL); 
Shai archivo cifrado
 * importación como sha1 de 'sha1'
 hex_sha1.hex_sha1 (str)
4, la firma de retorno de salida cuando se utiliza una firma digital, y generar una marca de tiempo de firma digital, nonceStr, URL, y appid
Debido a que los clientes tienen que utilizar en la inicialización de la micro-canal JS-SDK
 
5, generando así un éxito firma digital
 
wx.config ({ 
        Beta: true , 
        Depuración: falsa , // activar el modo de depuración, todas las llamadas alertarán a los valores de retorno de la API de cliente, para ver los parámetros de entrada, puede abrir el lado PC, información de parámetros por el juego de registro, se imprime sólo cuando el PC. 
        Id de aplicación: 'ww1437b9f5d1f742c6' , 
        marca de tiempo: _this.timestamp, // requerido para generar una marca de tiempo de la firma 
        nonceStr: _this.nonceStr, // requerido para generar una firma aleatoria cadena de 
        la firma: _this.signature, // requeridos, firmas, véase el Apéndice -JS-SDK algoritmo de firma derechos de uso 
        jsApiList: [
           'checkJsApi' ,
           'updateAppMessageShareData' ,
           'updateTimelineShareData' ,
           'onMenuShareAppMessage',  // antigua interfaz, es decir, perder 
          'onMenuShareTimeline' ,
           'shareWechatMessage' 
        ], 
        el éxito: función (RES) {
           // devolución de llamada de 
          la console.log (RES) 

        }, 
        Fail: función (RES) { 
          el console.log (RES) 
          IF ( res.errMsg.indexOf ( 'función no existe')> -1 ) { 
            Alerta ( 'versión de actualización baja' ) 
          } 
        } 
      })

Supongo que te gusta

Origin www.cnblogs.com/chenzxl/p/12538438.html
Recomendado
Clasificación