根据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
这不是安全问题吗? 是否有更好的替代方法来存储这些凭证?
提前致谢。
答案 0 :(得分:0)
杰夫来自PayPal。我想知道您对安全问题的担忧,因此我可以更具体地解决这些问题。我将解决我认为您关注的问题。
这些凭证需要存在于与PayPal通信的服务器上以便交易正常工作。您不希望将clientSecret
分享给外界,所以当然,您不希望通过任何公共Web端点访问此文件。
如果您担心您的开发人员或操作人员可以访问此秘密,那么我可能会建议实施一个部署流程,其中生产计算机仅对一组可信人员可见,并填充正确的凭据集仅在部署时在此文件中。