You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FlutterFlow中如何判断Supabase用户认证方式并隐藏改密码按钮

最简实现方案:通过Supabase用户身份数据判断认证方式

Supabase的用户对象里自带identities数组,会记录用户的所有认证来源——Apple登录的用户,这个数组里会有一条provider为apple的条目。咱们就靠这个来做判断,步骤很简单:

1. 写个自定义函数判断是否是Apple登录用户

在FlutterFlow的自定义函数里新建一个函数,命名成isAppleUser,返回类型选布尔值,代码贴下面这个:

bool isAppleUser(User? user) {
  if (user == null) return false;
  // 扫一遍用户的认证记录,找有没有Apple的
  return user.identities.any((identity) => identity.provider == 'apple');
}

2. 给修改密码按钮绑可见性条件

找到「修改密码」按钮,在右侧属性面板的可见性设置里选自定义条件,然后调用刚才写的函数:

  • 直接把条件写成 !isAppleUser(currentUser) —— 意思就是只有非Apple登录的用户才显示这个按钮

额外提示

如果之前你手动在Supabase用户元数据里存过认证来源(比如加了auth_provider字段),也可以直接读这个字段判断,步骤和上面差不多,只是函数里改成读取元数据就行。测试的时候记得分别用邮箱和Apple账号登进去看看,确认按钮显示正常。

内容的提问来源于stack exchange,提问作者taber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 15:54:52