mobilefirst 8中访问令牌的功能是什么?

问题描述 投票:0回答:1

首先,我希望在与WL资源通信时需要访问令牌。

预期流程: 1. WLAuthorizationManager.login(this.securityCheck ,{'username':username, 'password':password, rememberMe: true}).then( 2. WLAuthorizationManager.obtainAccessToken(this.securityCheck).then( 3. let resourceRequest = new WLResourceRequest('someURL', WLResourceRequest.GET) resourceRequest.addHeader("Authorization", "Bearer " + accessToken); 4. resourceRequest.send().then( 其中1 =登录,2 =获取访问令牌,3 =向头部添加访问令牌,4 =访问资源

但是,我发现没有2,3,我仍然可以访问资源。 我关注的是obtainAccessToken的含义是什么,并添加了Authorization标题。

WLResourceRequest之后是否有任何令牌自动绑定到login? 是否有其他方式登录而不使用WLAuthorizationManager.login? 如果可以,如何让服务器知道用户使用WLAuthorizationManager.login登录? 如果以上是真的,自定义登录后,可以获取访问令牌吗?

ionic-framework ionic3 ibm-mobilefirst
1个回答
1
投票

以下是关于这些方法及其工作的一些背景知识:

WLAuthorizatonManager.login(securityCheck,credentials)登录到指定的安全检查。此方法不会创建OAuth令牌。

关于WLAuthorizatonManager.login(securityCheck, credentials)的更多细节。

WLAuthorizationManager.obtainAccessToken(范围)返回包含指定范围的OAuth令牌。如果范围映射到安全检查,它将触发相应的质询,客户端必须处理该质询以获取令牌。如果在成功登录(securitycheck)调用后调用obtainAccessToken(scope),并且作用域映射到同一安全检查,则您将看不到质询。将授予OAuth令牌。

关于obtainAccessToken()的更多细节。

WLResourceRequest对象用于使用绝对或相对URL向任何受保护或未受保护的资源发送请求。 WLResourceRequest对象自动处理基于MobileFirst OAuth的安全模型协议并调用所需的挑战。

有关WLResourceRequest的详细信息。

回答你的问题:

  • 登录后是否有任何令牌自动绑定到WLResourceRequest? 如前所述,WLResourceRequest自动协商来自MFP服务器的OAuth令牌,该服务器包含保护其正在访问的端点的范围。这可能包括多轮OAuth协商,还会调用挑战处理程序来处理源自服务器的挑战。获得正确的令牌后,API会自动将令牌添加到“授权”标头中的请求中。
  • 是否有其他方式登录而不使用WLAuthorizationManager.login? 如果通过WLResourceRequest访问受保护资源,或者如果为映射到安全检查的作用域调用WLAuthorizationManager.obtainAccessToken(作用域),则将触发将结束的质询响应周期,而不是WLAuthorizatonManager.login(securityCheck,凭证)。具有用户身份和令牌。
  • 如果没问题,如何让服务器知道用户登录,如使用WLAuthorizationManager.login(securityCheck,凭证)? MFP运行时负责处理 - 无论是否通过WLAuthorizatonManager.login()设置用户身份,或者WLResourceRequest / WLAuthorizationManager.obtainAccessToken(范围)是否触发了通过securitychecl的质询响应周期。
  • 如果以上是真的,自定义登录后,可以获取访问令牌吗? 不确定“自定义登录”是什么意思,但您始终可以使用WLAuthorizationManager.obtainAccessToken(范围)或WLResourceRequest获取OAuth令牌。区别在于obtainAccessToken()将为您指定的范围提供令牌,而WLResourceRequest将通过自动获取涵盖所有必需范围的OAuth令牌来调用端点。
© www.soinside.com 2019 - 2024. All rights reserved.