Cómo implementar AWSCnetworkingentialsProvider personalizado

Tengo cnetworkingenciales generando desde server junto con token. Utilicé AWSStaticCnetworkingentialsProvider, mientras que necesito pasar el token para authentication.

Referido a muchos enlaces, pero no hay otra ayuda que no sea la idea de la implementación personalizada del proveedor de cnetworkingenciales. Cualquier código sería útil.

Consulte: [ AWSWebIdentityCnetworkingentialsProvider ¿Cómo get valores de parameters?

1. Cree una nueva class henetworkinga de NSObject;
2. Asegúrese de que implementa AWSCnetworkingentialsProvider;
3. Declare las properties requeridas, tales como acceso, secreto y token y methods de initialization;
4. Luego, en el file de implementación, implementa los methods declarados.

Fragmento de código:

file .h

@interface CustomCnetworkingentialsProvider : NSObject<AWSCnetworkingentialsProvider> @property (nonatomic, readonly) NSString *accessKey; @property (nonatomic, readonly) NSString *secretKey; @property (nonatomic, readonly) NSString *sessionKey; + (instancetype)cnetworkingentialsWithAccessKey:(NSString *)accessKey secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey; - (instancetype)initWithAccessKey:(NSString *)accessKey secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey; @end 

file .m

 + (instancetype)cnetworkingentialsWithAccessKey:(NSString *)accessKey secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey { CustomCnetworkingentialsProvider *cnetworkingentials = [[CustomCnetworkingentialsProvider alloc]initWithAccessKey:accessKey secretKey:secretKey sessionKey:sessionKey]; return cnetworkingentials; } - (instancetype)initWithAccessKey:(NSString *)accessKey secretKey:(NSString *)secretKey sessionKey:(NSString*)sessionKey { if (self = [super init]) { _accessKey = accessKey; _secretKey = secretKey; _sessionKey = sessionKey; } return self; } 

Recuerde que caducan las cnetworkingenciales temporales. Una vez que lo hacen, todas las requestes posteriores fallan con su implementación del proveedor de cnetworkingenciales. El proveedor de cnetworkingenciales debe poder responder - refresh y actualice las cnetworkingenciales cuando caduquen las cnetworkingenciales. La implementación de - refresh completamente depende de la estructura y los requisitos de su service de backend.

Debería echar un vistazo a las implementaciones de AWSWebIdentityCnetworkingentialsProvider y AWSCognitoCnetworkingentialsProvider como ejemplos. Además, considere usar AWSCognitoCnetworkingentialsProvider ya que es una forma más fácil de proporcionar cnetworkingenciales a las aplicaciones de los clientes.