我正在Ffltter中使用OAuth2_Client包,通过OAuth2访问各种服务的API,如Dropbox和Microsoft Graph。
该程序包工作得很好,但我无法让用户注销。在定义客户端本身时指定了revokeURL之后,我调用了该方法来删除存储的令牌(例如onedriveHelper.disConnect())。
问题是:当用户点击登录,但可能在注销后,嵌入的浏览器似乎已经将帐户存储在某种Cookie或会话中,因为用户仍在浏览器中登录。用户看不到用于输入凭据的字段。相反,用户已经登录,现在只需确认与应用程序的连接-就像他刚刚成功登录一样:
如何从OAuth2_Client使用的嵌入式浏览器中重置或永久删除所有Cookie或状态?
谢谢!克里斯
1条答案
按热度按时间3j86kqsm1#
我也遇到过类似的问题,但我没有使用OAuth2_CLIENT包。如果您改用Flutter AppAuth包(或者如果您的包可能有类似的选项),
AuthorizationTokenRequest
对象将为promptValues
提供一个可选参数。如果提示之一是“登录”,则嵌入式浏览器不会自动让您登录。下面是我在代码中如何使用它:有关使用https://github.com/auth0-blog/flutter-authentication包的完整示例,请参阅此页面