美文网首页
基于Swift的Web框架Vapor2.0文档(翻译)JWT-O

基于Swift的Web框架Vapor2.0文档(翻译)JWT-O

作者: 范小兵 | 来源:发表于2017-08-15 21:39 被阅读0次

    转载请附原文链接:http://blog.fandong.me/2017/08/13/iOS-SwiftVaporWeb19/

    前言

    之前一直有做Java后台开发的兴趣,可是想到要看好多的Java教程,作为一个iOS开发者,我放弃了,
    后来从朋友韩云智VL那里知道了这个框架,竟是用Swift写的,不得不说,它燃起了我的兴趣。
    Vapor是一个基于Swift开发的服务端框架,可以工作于iOS,Mac OS,Ubuntu。
    为了配合Swift部署到服务器,我把ECS的服务器系统改为Ubuntu16.04。

    Vapor 2.0 - 文档目录
    以下文字翻译自Vapor Docs/JWT/Overview

    JWT概述

    这份指导提供了使用JWT提供程序包的概述

    配置

    JWTProvider可以通过三种方式来初始化

    • 定制的自定义签名者jwt.json
    • 支持(私有/公共)hmac rsa esdca
    • 传统的自定义签名者定义jwt.json
    • 支持(私有/公共)hmac rsa esdca
    • 远程jwt.json远程文件链接
    • 支持(私有/公共)rsa

    如果你的Vapor应用程序作为身份验证程序,您可能需要使用Legacy custom signer安装程序或Custom signers设置,如果要执行证书更换,那这应该是比较好的.
    唯一的区别是JWT头中Custom signerskid值不被忽略,并且它必须与相关联的签名者匹配才能验证签名.
    如果你的Vapor应用程序是将认证委托给第三方(auth0,stormpath等)的资源提供者,则可能需要使用Remote JSON Web Key Set设置,在此配置中,JWT令牌由提供JSONWeb密钥集格式的第三方生成,Vapor仅负责验证JWT使用第三方提供的密钥集.

    远程JSON Web密钥集

    Config/jwt.json
    
    {
        "jwks-url" : "http://my-domain.com/well-known/jwks.json"
    }
    

    自定义签名者

    这允许指定一组签名者,特别适用于替换证书,自定义签名者不能向后兼容,并且必须在配置中指定一个附加的kid

    • type:unsigned,hmac,esdca
    • kid:一个唯一的标识符
    • algorithm
    • type[hmac]:hs256,hs384,hs512
    • type[rsa]:rs256,rs384,rs512
    • type[esdca]:es256,es384,es512
    Config/jwt.json
    
    {
        "signers":[
        {
            "type":"rsa",
            "kid":"1234",
            "algorithm":"rs256",
            "key":"yourkeyhere"
        }
        ]
    }
    

    传统自定义签名者

    这和以前的实现向后兼容

    • type: unsigned,hmac,esdca
    • algorithm:
    • type[hmac]: hs256, hs384, hs512
    • type[rsa]: rs256, rs384, rs512
    • type[esdca]: es256, es384, es512
    Config/jwt.json
    
    { 
      “signer” : { 
        “type” : “rsa” ,
        “algorithm” : “rs256” ,
        “key” : “yourkeyhere” 
      } 
    }
    

    相关文章

      网友评论

          本文标题:基于Swift的Web框架Vapor2.0文档(翻译)JWT-O

          本文链接:https://www.haomeiwen.com/subject/idtbrxtx.html