如何在 iOS 中的 NSURLRequest 中设置传递 api 键?
How to set pass api key within NSURLRequest in iOS?
到目前为止我是这样的:
NSURLRequest *Request = [NSURLRequest requestWithURL:[NSURL URLWithString: reqURLStr]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: Request returningResponse: &resp error: &error];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
return responseString;
我这样称呼它:
NSString *stripeCustomerRequestURL = [NSString stringWithFormat:@"https://api.stripe.com/v1/customers/%@",stripeCustomerId];
// NSString for the return of the tax in decimal form
NSString *customerInformation = [self retrieveStripeCustomer:stripeCustomerRequestURL];
我收到此错误,我知道我需要通过 api 键,但我该怎么做?
{
"error": {
"type": "invalid_request_error",
"message": "You did not provide an API key. You need to provide your API key in the Authorization header, using Bearer auth (e.g. 'Authorization: Bearer YOUR_SECRET_KEY'). See https://stripe.com/docs/api#authentication for details, or we can help at https://support.stripe.com/."
}
}
从客户端设备(iOS / Android 应用程序、桌面应用程序等)上运行的代码中使用您的 Stripe Secret API 密钥被认为是不安全的。一旦您将 API 密钥包含在交付的二进制文件中,您就可以假设有人会检查您的二进制文件并能够从中提取字符串,包括您的 API 密钥,从而危及它。
您的 API 密钥只能在您控制的服务器上使用。您的 iOS 应用程序可以调用您服务器上的端点,然后您的服务器将调用 Stripe。
到目前为止我是这样的:
NSURLRequest *Request = [NSURLRequest requestWithURL:[NSURL URLWithString: reqURLStr]];
NSURLResponse *resp = nil;
NSError *error = nil;
NSData *response = [NSURLConnection sendSynchronousRequest: Request returningResponse: &resp error: &error];
NSString *responseString = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
return responseString;
我这样称呼它:
NSString *stripeCustomerRequestURL = [NSString stringWithFormat:@"https://api.stripe.com/v1/customers/%@",stripeCustomerId];
// NSString for the return of the tax in decimal form
NSString *customerInformation = [self retrieveStripeCustomer:stripeCustomerRequestURL];
我收到此错误,我知道我需要通过 api 键,但我该怎么做?
{
"error": {
"type": "invalid_request_error",
"message": "You did not provide an API key. You need to provide your API key in the Authorization header, using Bearer auth (e.g. 'Authorization: Bearer YOUR_SECRET_KEY'). See https://stripe.com/docs/api#authentication for details, or we can help at https://support.stripe.com/."
}
}
从客户端设备(iOS / Android 应用程序、桌面应用程序等)上运行的代码中使用您的 Stripe Secret API 密钥被认为是不安全的。一旦您将 API 密钥包含在交付的二进制文件中,您就可以假设有人会检查您的二进制文件并能够从中提取字符串,包括您的 API 密钥,从而危及它。
您的 API 密钥只能在您控制的服务器上使用。您的 iOS 应用程序可以调用您服务器上的端点,然后您的服务器将调用 Stripe。