Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
25 changes: 14 additions & 11 deletions lark_oapi/core/token/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,17 +9,20 @@ def verify(config: Config, request: BaseRequest, option: RequestOption) -> None:
if len(request.token_types) == 0:
return

# 如开启token配置,需手动传入token
# 是否有手动传入的 token:
if Strings.is_not_empty(option.tenant_access_token) and AccessTokenType.TENANT in request.token_types:
request.token_types = {AccessTokenType.TENANT}
return
if Strings.is_not_empty(option.app_access_token) and AccessTokenType.APP in request.token_types:
request.token_types = {AccessTokenType.APP}
return
if Strings.is_not_empty(option.user_access_token) and AccessTokenType.USER in request.token_types:
request.token_types = {AccessTokenType.USER}
return

# 如开启token配置,必需手动传入token
if config.enable_set_token:
if Strings.is_not_empty(option.tenant_access_token) and AccessTokenType.TENANT in request.token_types:
request.token_types = {AccessTokenType.TENANT}
return
if Strings.is_not_empty(option.app_access_token) and AccessTokenType.APP in request.token_types:
request.token_types = {AccessTokenType.APP}
return
if Strings.is_not_empty(option.user_access_token) and AccessTokenType.USER in request.token_types:
request.token_types = {AccessTokenType.USER}
return
raise NoAuthorizationException("access token is required to be manually set in request option")

# 未开启token配置,根据app_id/app_secret获取token
if Strings.is_empty(config.app_id) or Strings.is_empty(config.app_secret):
Expand Down Expand Up @@ -47,7 +50,7 @@ def verify(config: Config, request: BaseRequest, option: RequestOption) -> None:
request.token_types = {AccessTokenType.APP}
return

if AccessTokenType.APP in request.token_types:
if AccessTokenType.USER in request.token_types:
if Strings.is_empty(option.user_access_token):
raise NoAuthorizationException("user_access_token not found")
raise NoAuthorizationException("need enable set token")