我们目前正在考虑创建一个带有react native(expo)的移动的应用程序。经过一些修改后,整个身份验证功能现在可以正常工作了。但我们的问题是,当你使用PKCE的代码流时,显然你无法获得有效期超过24小时的刷新令牌。就我所知gatheredfrom onlineresources,出于安全考虑,建议对移动的应用程序使用PKCE。但让用户在24小时后进行完整登录对我们来说有点像是一个障碍。对于移动的应用程序,还有哪些其他选项可以安全地使用有效期超过24小时的刷新令牌?
jexiocij1#
颁发给SPA应用程序(PKCE流)的刷新令牌无法使用B2C会话管理进行管理,并且仅在24小时内有效。24小时后,应用程序必须获取新的授权码才能获得新的访问和刷新令牌。唯一可用的解决方案选项是使用“保持我的登录状态”。要将KMSI复选框设置为默认选中状态,您需要使用JavaScript,因为B2C用户流或自定义策略中没有可用于此目的的选项。
nvbavucw2#
但事实证明,如果你已经将重定向URI注册为移动的/原生应用,那么B2C将只使用你指定的刷新令牌生存期,即使是PKCE。因此,如果您使用SPA的重定向URI(并且您将其配置为这样),则无论您执行什么操作,它都将发出24 h刷新令牌。
2条答案
按热度按时间jexiocij1#
颁发给SPA应用程序(PKCE流)的刷新令牌无法使用B2C会话管理进行管理,并且仅在24小时内有效。24小时后,应用程序必须获取新的授权码才能获得新的访问和刷新令牌。
唯一可用的解决方案选项是使用“保持我的登录状态”。要将KMSI复选框设置为默认选中状态,您需要使用JavaScript,因为B2C用户流或自定义策略中没有可用于此目的的选项。
nvbavucw2#
但事实证明,如果你已经将重定向URI注册为移动的/原生应用,那么B2C将只使用你指定的刷新令牌生存期,即使是PKCE。
因此,如果您使用SPA的重定向URI(并且您将其配置为这样),则无论您执行什么操作,它都将发出24 h刷新令牌。