0

根据java SDK中的例子:

https://github.com/paypal/rest-api-sdk-java

clientID、clientSecret 是从 sdk_config.properties 文件中检索的,它们以纯文本形式驻留在该文件中。例如 java SDK 自带的属性文件:


# Connection Information
http.ConnectionTimeOut=5000
http.Retry=1
http.ReadTimeOut=30000
http.MaxConnection=100

# HTTP Proxy configuration
# If you are using proxy set http.UseProxy to true and replace the following values with your proxy parameters
http.ProxyPort=8080
http.ProxyHost=127.0.0.1
http.UseProxy=false
http.ProxyUserName=null
http.ProxyPassword=null

#Set this property to true if you are using the PayPal SDK within a Google App Engine java app
http.GoogleAppEngine = false

# Service Configuration
service.EndPoint=https://api.sandbox.paypal.com
# Live EndPoint
# service.EndPoint=https://api.paypal.com

# Credentials
clientID=EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM
clientSecret=EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM


不是安全问题吗?是否有更好的替代方法来存储这些凭据?

提前致谢。

4

1 回答 1

0

杰夫来自贝宝。我想知道您对安全问题的担忧是什么,因此我可以更具体地解决它们。我会谈谈我认为你关心的问题。

这些凭据需要位于与 PayPal 通信的服务器上的某个位置,才能使交易生效。您不想clientSecret与外界共享,所以当然,您不希望通过任何公共 Web 端点访问此文件。

如果您担心您的开发人员或操作人员会访问此机密,那么我可能会建议实施一个部署过程,其中生产机器仅对选定的一组受信任的人可见,并在此文件中填充正确的凭据集仅在部署时。

于 2013-11-07T16:39:29.060 回答