oAuth2-令牌过期无法正常工作

2020-08-15 13:33发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们需要制作应用程序的所有页面。 作为oAuth2保护。 我们已经创建了OCC服务,并使用了oAuth2身份验证。

请考虑以下情况:一个用户是匿名用户,该用户访问的第一页是/home。 在点击主页之前,是本机应用程序。 客户将进行以下调用以获取授权令牌。 然后,将在首页调用的标题中发送相同的授权令牌。

https://localhost:9002/authorizationserver/oauth/token

上面的调用将返回如下的授权令牌:

  {
    " access_token":" 2354a7e4-29b4-4fda-ba28-524a5294f0e5",
    " token_type":"承载者",
    " expires_in":1704,
    " scope":"基本"
  }

  

我将客户端设置如下:客户端ID:andoid授权类型:client_credentials token_type:承载client_secret:秘密范围:基本到期时间设置为10秒

但是,如果我继续点击上述服务,则到期时间不会被视为10秒,而是其他一些值。

那么如何为匿名用户设置令牌到期时间?

登录后,我们再次点击该服务以获取基于GRANT TYPE:PASSWORD的新令牌,该令牌将覆盖为匿名用户生成的令牌。 但是,由于CLIENT相同,GRANT TYPE:CLIENT_CREDENTIALS和GRANTY_TYPE:PASSWORD的令牌的到期时间是否相同?

Saurabh

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我们需要制作应用程序的所有页面。 作为oAuth2保护。 我们已经创建了OCC服务,并使用了oAuth2身份验证。

请考虑以下情况:一个用户是匿名用户,该用户访问的第一页是/home。 在点击主页之前,是本机应用程序。 客户将进行以下调用以获取授权令牌。 然后,将在首页调用的标题中发送相同的授权令牌。

https://localhost:9002/authorizationserver/oauth/token

上面的调用将返回如下的授权令牌:

  {
    " access_token":" 2354a7e4-29b4-4fda-ba28-524a5294f0e5",
    " token_type":"承载者",
    " expires_in":1704,
    " scope":"基本"
  }

  

我将客户端设置如下:客户端ID:andoid授权类型:client_credentials token_type:承载client_secret:秘密范围:基本到期时间设置为10秒

但是,如果我继续点击上述服务,则到期时间不会被视为10秒,而是其他一些值。

那么如何为匿名用户设置令牌到期时间?

登录后,我们再次点击该服务以获取基于GRANT TYPE:PASSWORD的新令牌,该令牌将覆盖为匿名用户生成的令牌。 但是,由于CLIENT相同,GRANT TYPE:CLIENT_CREDENTIALS和GRANTY_TYPE:PASSWORD的令牌的到期时间是否相同?

Saurabh

付费偷看设置
发送
3条回答
Nir深蓝
1楼 · 2020-08-15 14:17.采纳回答


当您发布令牌请求时-仅在令牌不存在或已过期时才生成新令牌。
OAuth服务器的Spring实现假定用于特定身份验证的令牌只有一个。
让我们假设流:
1)向客户发布令牌请求
2)转到后台(系统-> OAuth-> OAuth客户端),并将OAuth客户端的过期时间更改为10秒
3)向客户发布令牌请求
在这种情况下,您在第3步中仍会看到与第1步相同的令牌(只有到期时间会更短)-因为它尚未到期。
当旧的令牌过期或将被删除时,将创建具有新的过期时间的令牌。 您可以在后台(系统-> OAuth-> OAuth访问令牌)中将其删除。

当您询问带有Grant_type = password的令牌时,它不会覆盖以前为客户端创建的令牌(grant_type = client_credentials),而是为用户创建新令牌。 过期时间值也将从客户端设置中获取。

灬番茄
2楼-- · 2020-08-15 14:20

HI,

当我点击

https://localhost:9002/authorizationserver/oauth/token,它询问用户名和密码。

用户名和密码是什么?

以及如何生成令牌。

谢谢

Nir深蓝
3楼-- · 2020-08-15 14:10

是的。 在这两种情况下,到期时间均来自客户端设置。

一周热门 更多>