为你的网站建立JWT身份验证

  • 平台
  • Evoq内容
  • Evoq参与

先决条件

一个主机/超级用户帐户。所有网站的主机完全权限款实例。

步骤

  1. 安装款JWT身份验证处理程序。
    1. 主机>扩展

      主机>扩展

    2. 可用的扩展选项卡中,扩大供应商节中,搜索款JWT身份验证处理程序,然后单击/水龙头安装按钮。

      可用扩展> >供应商款JWT身份验证处理器>安装

    在你的. config文件,JWTAuth线内添加< messagehandler / >标签。

    < authServices > < messagehandler > < !——其他消息处理程序——> <添加name = " JWTAuth " type = " Dnn.AuthServices.Jwt.Auth。JwtAuthMessageHandler Dnn.AuthServices。Jwt "启用= " false " defaultInclude = " false " forceSSL = "真正的" / > < / messagehandler > < / authServices >
  2. (可选)使JWT所有Web API请求的身份验证。
    1. 访问. config文件。
    2. 寻找新增JWTAuth线内< messagehandler / >部分。
    3. 改变JWTAuth启用defaultInclude属性“真正的”。
      <添加name = " JWTAuth " type = " Dnn.AuthServices.Jwt.Auth。JwtAuthMessageHandler Dnn.AuthServices。Jwt”启用= " true " defaultInclude = "真正的" forceSSL = " true " / >
    提示: 开发人员:使JWT认证为您的特定Web API,控制器类添加以下属性:
    [DnnAuthorize AuthTypes = " JWT "))
  3. (可选)启用跨源资源共享(歌珥)允许从远程JavaScript客户端的请求。

    歌珥是必需的,只有在Web API将通过Web浏览器访问。歌珥不是必需的本地移动或者桌面应用程序。

    警告:使歌珥允许外部网站访问你的网站,因此,使其容易受到跨站点脚本(XSS)攻击。
    1. 访问. config文件。
    2. 在你的. config内部文件,添加这些访问控制行< customHeaders / >部分。
      <添加name = " Access-Control-Allow-Origin " value = " * " / > <添加名称=“Access-Control-Allow-Headers”价值=”接受,接收语言、内容类型、接受、授权moduleid,衰弱的,x-dnn-moniker " / > <添加名称=“Access-Control-Allow-Methods”价值=“GET、POST、PUT、头、选择" / >
  4. (可选)开发人员:高级调试启用额外的日志记录、测试和故障排除。
    1. 访问DotNetNuke.log4net.config文件。
    2. 在你DotNetNuke.log4net。配置文件,添加以下日志记录器线后根> < /关闭标签。
      < !——以下是需要解决提供者注册问题。- - > <记录器name = " DotNetNuke.Web.Api。身份验证" > <级别值= "跟踪" / > < / logger > < !——以下是需要解决Web API调用失败。- - > <记录器name = " DotNetNuke.Dnn.AuthServices。Jwt " > <级别值= "跟踪" / > < / logger >