表1 SFBaseMessage说明
| 类名 | 属性 | 类型 | 描述 |
|---|---|---|---|
| SFBaseMessage | errCode | NSInteger | 错误码 |
| errStr | NSString * | 错误字符串 | |
| serverInfo | NSString * | 服务端透传字符串 | |
| nextServiceList | NSArray |
辅助认证多选一数组 |
表2 SFBaseMessage的衍生类SFSmsMessage说明
| 类名 | 属性 | 类型 | 描述 |
|---|---|---|---|
| SFSmsMessage | phoneNum | NSString * | 短信认证的手机号码 |
| countDown | int | 重新发送短信倒计时时间 | |
| stillValid | BOOL | 上次发送的短信验证码是否在有效期 | |
| smsApps | NSString * | 网关类型,用于判断短信验证码是否发往moa |
表3 SFBaseMessage的衍生类SFRadiusMessage说明
| 类名 | 属性 | 类型 | 描述 |
|---|---|---|---|
| SFRadiusMessage | radiusMsg | NSString * | 挑战认证的提示信息 |
表4 SFBaseMessage的衍生类SFTokenMessage说明
| 类名 | 属性 | 类型 | 描述 |
|---|---|---|---|
| SFTokenMessage | totpType | BOOL | Token认证的类型,普通token还是totp token |
| needBind | BOOL | Totp Token认证是否需要绑定 | |
| isAllowRebind | BOOL | Totp Token认证是否可以重绑 | |
| user | NSString * | Totp Token认证的绑定信息的user | |
| period | NSString * | Totp Token认证的绑定信息的period | |
| digits | NSString * | Totp Token认证的绑定信息的digits | |
| algorithm | NSString * | Totp Token认证的绑定信息的algorithm | |
| secret | NSString * | Totp Token认证的绑定信息的secret | |
| issuer | NSString * | Totp Token认证的绑定信息的issuer |
表5 SFBaseMessage的衍生类SFResetPswMessage说明
| 类名 | 属性 | 类型 | 描述 |
|---|---|---|---|
| SFResetPswMessage | resetPswMsg | NSString * | 请求修改密码认证的密码规则信息 |
类型转换说明
在认证回调(如 onAuthProcess)中,message 参数的具体类型与 nextAuthType 相关。以下是各认证类型对应的 Message 子类:
| 认证类型 (nextAuthType) | Message 子类 | 说明 |
|---|---|---|
| SFAuthTypeSMS | SFSmsMessage | 短信认证 |
| SFAuthTypeRenewPassword | SFResetPswMessage | 改密认证 |
类型转换示例代码
- (void)onAuthProcess:(SFAuthType)nextAuthType message:(SFBaseMessage *)msg {
if (nextAuthType == SFAuthTypeSMS) {
// 短信认证
SFSmsMessage *smsMessage = (SFSmsMessage *)msg;
NSString *phoneNum = smsMessage.phoneNum;
int countDown = smsMessage.countDown;
BOOL valid = smsMessage.stillValid;
// 处理短信认证逻辑...
} else if (nextAuthType == SFAuthTypeRenewPassword) {
// 修改密码认证
SFResetPswMessage *resetPswMessage = (SFResetPswMessage *)msg;
NSString *resetPswMsg = resetPswMessage.resetPswMsg;
// 处理改密认证逻辑...
}
```