commonHttpsRequest:type:value:
接口描述
此接口为请求透传接口,非认证接口, 只是复用了服务端的https认证配置来做透传的功能, 可用于认证前透传集成应用请求到第三方认证服务器, 并将第三方认证服务器结果响应透传给集成应用, 常用于集成应用认证前需要向第三方认证服务器请求认证所需信息的场景.
注意事项
- 此接口调用之前必须已经调用过setCommonHttpsRequestResultDelegate设置非空代理
- 只能用于主应用在认证前调用
方法定义
- (void)commonHttpsRequest:(NSURL * __nonnull)url type:(NSString * __nonnull)type value:(NSString * __nonnull)value
参数描述
表1 参数说明
参数 | 是否必须 | 类型 | 描述 |
---|---|---|---|
url | 是 | NSURL | 认证的url信息 |
type | 是 | NSString * | 认证类型 |
value | 是 | NSString * | 认证参数 |
表2 字段说明
枚举值 | 描述 | 对应data举例 |
---|---|---|
type | 认证类型 | 45454125415@checkAppUpdate(格式为用户名@认证域) |
value | 认证参数 | value参数为第三方服务器需要的参数,以json格式传递(具体格式需要管理员根据实际https服务器要求在服务端配置),json数据中的key和value需要和服务器管理员在配置https认证服务器时配置的key, value一致,构建出json后,作为commonHttpsRequest接口的value参数传入, 客户端只是透传数据, 不做任何解析动作, 最终如何和第三方服务器对接是由服务端认证配置决定的, 可以让深信服一线协助在服务端进行配置; |
回调结果 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...
}