关于aad_b2c_webview的令牌获取及相关技术问题咨询
关于aad_b2c_webview的Azure B2C登录相关问题解答
1. 是否必须使用Deep Links?
不是必须的。你的场景仅为安卓APP,没有对应网站的话,完全不需要配置Deep Links。Deep Links核心作用是实现Web端唤起APP的无缝跳转,纯APP内使用Azure B2C登录时,只要保证登录后的回调逻辑在APP内部处理完成即可,无需额外托管assetlinks.json或购买域名。
2. meta-data和intent-filter必须存储在指定位置?
完全正确。这些配置必须放在AndroidManifest.xml的对应位置:
meta-data需放置在<application>标签内部intent-filter要绑定到承载ADB2CEmbedWebView的Activity标签中,这样系统才能正确识别并处理Azure B2C的登录回调请求
3. 如何在后续页面获取flutter secure storage存储的令牌?
在需要令牌的页面中,直接初始化flutter_secure_storage实例,调用read方法即可获取对应令牌,示例代码如下:
final storage = FlutterSecureStorage(); // 获取访问令牌 String? accessToken = await storage.read(key: 'access_token'); // 获取刷新令牌 String? refreshToken = await storage.read(key: 'refresh_token');
注意要确保登录成功后,已将令牌以对应key存入secure storage——通常在aad_b2c_webview的登录回调中会返回这些令牌,你只需在回调逻辑中完成存储操作。
4. 该包如何处理登出机制?
这个包没有封装现成的登出方法,需要你自行实现:
- 通过
ADB2CEmbedWebView加载Azure B2C的登出端点URL完成登出流程 - 登出后务必清理
flutter_secure_storage中存储的所有令牌数据,避免残留信息被误用 - 最后跳转回登录页面即可
内容的提问来源于stack exchange,提问作者Aeseir
相关产品推荐
相关产品推荐

