commonHttpsRequest:type:value:
接口描述
此接口为请求透传接口,非认证接口, 只是复用了服务端的https认证配置来做透传的功能, 可用于认证前透传集成应用请求到第三方认证服务器, 并将第三方认证服务器结果响应透传给集成应用, 常用于集成应用认证前需要向第三方认证服务器请求认证所需信息的场景.
方法定义
- (void)commonHttpsRequest:(NSURL * __nonnull)url type:(NSString * __nonnull)type value:(NSString * __nonnull)value
参数描述
表1 参数说明
参数 | 是否必须 | 类型 | 描述 |
---|---|---|---|
url | 是 | NSURL | aTrust服务器登录地址 |
type | 是 | NSString * | 透传到aTrust服务器的类型字段,格式为自定义String@认证域,其中认证域名称需要找aTrust设备运维人员提供 |
value | 是 | NSString * | 透传到aTrust服务器的内容字段, 内容不做限制, 通常用Json格式来满足有多个数据字段需要透传的情况 |
详细说明
- 此接口调用之前必须已经调用过setCommonHttpsRequestResultDelegate设置非空代理
- 只能用于主应用在认证前调用
type参数说明:
1) type字段的格式为自定义String内容@认证域。请咨询aTrust运维人员以获取认证域名称。
2) 自定义字符串内容的具体内容也可以向运维人员询问。一般情况下,建议传递格式为用户名@认证域。
3) 如果运维人员反馈在该透传场景中不需要用户名字段,则建议生成一个随机的UUID作为自定义字符串,格式为生成的UUID@认证域。
value参数说明:
1) value参数用于传递第三方服务器所需的参数,内容上无任何限制,如果需要传递多个字段,建议使用JSON格式,以便运维人员在服务端进行解析和配置。
2) SDK仅负责透传数据,不进行任何解析。最终如何与第三方服务器对接由服务端的认证配置决定。可以请求深信服一线团队协助进行服务端配置。
回调结果 onCommonHttpsRequestResult
@protocol SFCommonHttpsRequestResultDelegate <NSObject>
@required
/**
* 通用https请求回调
* @param msg 服务端返回的信息
*/
- (void) onCommonHttpsRequestResult:(SFBaseMessage *) msg;
@end
参数描述
参数 | 类型 | 描述 |
---|---|---|
message | SFBaseMessage * | 回调信息,请参考SFBaseMessage |
服务器拿到value中的json数据会解析重组为第三方服务器所需的数据结构(服务端配置),然后代理访问第三方服务器,第三方服务器返回的信息会通过回调(onRequestResult)透传给用户侧,信息会保存在SFBaseMessage中的mServerInfo中;
整体示例代码
//设置delegate
[[SFUemSDK sharedInstance] setCommonHttpsRequestResultDelegate:self];
// 调用通用https接口
NSURL *vpnUrl = @"https://10.242.4.228";
NSString *type = @"45454125415@checkAppUpdate";
NSString *value = @"{\"userId\":\"1\",\"appVersion\":\"10.0\",\"type\":\"ios\"}";
[[SFUemSDK sharedInstance] commonHttpsRequest:vpnUrl type:type value:value];
// 回调
- (void)onCommonHttpsRequestResult:(nonnull SFBaseMessage *)msg {
NSLog(@"CommonHttpsAuthViewController onCommonHttpsRequestResult %@:", msg);
// request callback, do your thing...
}