Skip to content

Latest commit

 

History

History
57 lines (46 loc) · 1.3 KB

authorizations.md

File metadata and controls

57 lines (46 loc) · 1.3 KB

Authorizations


Fns的身份验证服务。

验证 HTTP 头 Authorization 的值。

当前提供hmacjwt两种实现。

令牌默认存储在共享器中,如由需要,可以代替。

配置

Hmac

services:
  authorizations:
    expireTTL: "24h"
    autoRefresh: true
    autoRefreshWindow: "12h"
    encoder: 
      key: "some sk"

添加依赖

modules/services.go中的dependencies函数中添加。

func dependencies() (v []services.Service) {
	v = []services.Service{
		// add dependencies here
		authorizations.New(),
	}
	return
}

校验

在函数上打上@authorization注解即可。

手动校验:

// 校验指定令牌,当成功后,身份不会自动注入上下文中。
validated, validErr := authorizations.Validate(ctx, token)
// 校验当前上下文中的令牌,当成功后,身份会自动注入上下文中。
validated, validErr := authorizations.ValidateContext(ctx)

获取身份

authorization, has, err := authorizations.Load(ctx)

创建令牌

token, err := authorizations.Create(ctx, param)

成功创建后,身份会自动注入上下文中。