// // OSSSignerBase.h // AliyunOSSSDK iOS // // Created by ws on 2023/12/26. // Copyright © 2023 aliyun. All rights reserved. // #import #import "OSSConstants.h" @class OSSAllRequestNeededMessage; @class OSSSignerParams; @class OSSConstants; @class OSSFederationToken; @class OSSTask; NS_ASSUME_NONNULL_BEGIN @protocol OSSRequestSigner - (OSSTask *)sign:(OSSAllRequestNeededMessage *)requestMessage; @end @protocol OSSRequestPresigner - (OSSTask *)presign:(OSSAllRequestNeededMessage *)requestMessage; @end @interface OSSSignerBase : NSObject @property (nonatomic, strong) OSSSignerParams *signerParams; - (instancetype)initWithSignerParams:(OSSSignerParams *)signerParams; - (void)addAuthorizationHeader:(OSSAllRequestNeededMessage *)request federationToken:(OSSFederationToken *)federationToken; - (void)addDateHeaderIfNeeded:(OSSAllRequestNeededMessage *)request; - (void)addSecurityTokenHeaderIfNeeded:(OSSAllRequestNeededMessage *)request federationToken:(OSSFederationToken *)federationToken; + (id)createRequestSignerWithSignerVersion:(OSSSignVersion)signerVersion signerParams:(OSSSignerParams *)signerParams; + (id)createRequestPresignerWithSignerVersion:(OSSSignVersion)signerVersion signerParams:(OSSSignerParams *)signerParams; @end NS_ASSUME_NONNULL_END