2012-07-27 17 views
5

Parece que el envío de esto con cada solicitud XML es la única forma de utilizar la API de seguimiento de UPS:API de seguimiento de paquetes de UPS: ¿cómo no exponer la contraseña?

<?xml version="1.0" ?> 
<AccessRequest xml:lang='en-US'> <AccessLicenseNumber> 
YOURACCESSLICENSENUMBER 
</AccessLicenseNumber> <UserId> 
YOURUSERID 
</UserId> <Password> 
YOURPASSWORD 
</Password> </AccessRequest> 

Así que, básicamente, no se puede utilizar en una aplicación de escritorio, debido a sus usuarios serían capaces de encontrar tu contraseña. Y sí, podría ejecutar un back-end en mi propio servidor, pero eso es innecesariamente complicado. ¿UPS proporciona una forma sensata de autenticarse sin tener que poner una copia de la contraseña en cada copia de mi aplicación?

+0

Downvoters nunca son notificados de los comentarios dirigidos a "downvoter", por lo que no tiene sentido preguntar ... ¿Por qué – sarnold

+1

esto te prohíbe escribir una aplicación de escritorio? Seguramente cada uno de sus usuarios tendrá sus propias cuentas, con sus propias direcciones, facturación propia, etc. ... – sarnold

+0

@sarnold: Quiero hacer una aplicación que proporcione información de seguimiento al usuario. De modo que el usuario simplemente pondría una ID de número de seguimiento, sin información adicional. Requerir que cada usuario se registre con UPS primero sería una molestia ... – houbysoft

Respuesta

3

Si desea acceder a UPS api directamente, no a través de su propio servidor, entonces no puede. UPS ha puesto el requisito de la clave y la contraseña api por un motivo: para tener cierto control sobre cómo se utiliza la API (y, por ejemplo, solicitudes de aceleración para la clave api si es necesario). Incluso si decides que puedes convivir con el acceso de extraños a tu clave de acceso y contraseña, es muy probable que se revoque (estoy bastante seguro de que no puedes compartirlos). Entonces usar api está fuera de discusión.

Como alternativa, puede intentar obtener la información de seguimiento con seguimiento público (sin API) en su sitio web, pero es probable que acceda a límites de solicitud de IP, tokens csrf, etc. y la página debe cambiar de alguna manera. . No es Buena idea.

Aplicación simple o no tendrá que ejecutar parte de ella en su servidor.

1

No hay realmente una manera de hacer esto sin ejecutarlo en su servidor. Sin embargo, lo que puede hacer, dado que desea que su aplicación proporcione información de seguimiento, es por qué no solo abre esa información en el navegador web predeterminado. ¿Es esto factible?

Si es así echar un vistazo a esto: http://oreilly.com/pub/h/4106, (mirar a la lógica más que la aplicación)

Cuestiones relacionadas