身份认证相关配置

身份认证有几个重要参数建议了解:

  • Nebula_JwtToken_AlgorithmName
    • 含意:JWT签名算法名称
    • 默认值:HS512
    • 取值范围:HS256/HS512/RS256/RS512/ES256/ES512
  • Nebula_Authentication_SecretKey
    • 含意:当使用 HS256/HS512 算法时的密钥
    • 默认值:框架内定
  • Nebula_Authentication_CookieName
    • 含意:JWT-TOKEN采用 Cookie 方式发送到服务时的键名
    • 默认值:xtoken
  • Nebula_Authentication_HeaderName
    • 含意:JWT-TOKEN采用 请求头 方式发送到服务时的键名
    • 默认值:x-token




使用非对称签名算法

框架支持4种非对称签名算法:RS256/RS512/ES256/ES512
如果需要使用这些算法,请先创建一个X509证书,
为了简单,建议创建一个 pfx 的自签名证书。


本文假设你已经创建好了一个pfx证书,下面仅介绍如何配置。
你需要再创建一个配置文件(文本格式), 假设命名为:ClownFishTest.conf

然后把它放在配置服务中,或者程序的启动目录中。

它的内容格式为:

base64(证书加载密码)\nbase64(证书文件二进制内容)

例如:

xx

然后再指定一个配置参数:

ClownFish_Authentication_X509Conf_FileName=ClownFishTest.conf




直接使用ClownFish框架

如果不使用Nebula框架,而是直接使用ClownFish框架,只需要将前面介绍的参数名称前缀从 Nebula 修改为 ClownFish 即可。

例如:

  • ClownFish_JwtToken_AlgorithmName
  • ClownFish_Authentication_SecretKey
  • ClownFish_Authentication_CookieName
  • ClownFish_Authentication_HeaderName




登录凭证自动续期

当用户登录时,可调用以下2个方法(其中1个)得到一个登录凭证(TOKEN)

  • AuthenticationManager.Login(IUserInfo userInfo, int expirationSeconds)
  • AuthenticationManager.GetLoginToken(IUserInfo userInfo, int expirationSeconds)

由于调用方法时指定了过期时间,因此得到的 登录凭证(TOKEN) 会在一定时间后过期。

为了提升用户体验,避免让用户频繁登录,框架 默认 会对登录凭证做续期处理。

如果 不希望 框架做自动续期,可以指定以下参数:

ClownFish_JwtToken_ExpirationRenewal=0