当客户端向API发送请求时,我需要对其进行身份验证。客户端有一个API-token,我在考虑使用标准的Authorization
标头将令牌发送到服务器。
通常,此标头用于Basic
和Digest
身份验证。但我不知道是否允许我自定义此标头的值并使用自定义身份验证方案,例如:
Authorization: Token 1af538baa9045a84c0e889f672baf83ff24
你会推荐这个吗?或者有更好的发送令牌的方法?
发布于 2015-11-05 00:31:59
这有点过时了,但可能还有其他人在寻找相同问题的答案。您应该考虑哪些保护空间对您的API有意义。例如,您可能希望标识和验证客户端应用程序对API的访问,以将其限制为已知的已注册客户端应用程序。在这种情况下,您可以使用Basic
身份验证方案,使用客户端标识符作为用户id,使用客户端共享密钥作为密码。您不需要专有的身份验证方案,只需清楚地标识客户端将为每个保护空间使用的身份验证方案。我倾向于每个保护空间只有一个,但是HTTP标准允许在每个WWW-Authenticate头响应上使用多个身份验证方案,并且在每个响应中允许多个WWW-Authenticate头;这将使API客户机对使用哪个选项感到困惑。保持一致和清晰,然后你的API才会被使用。
发布于 2017-05-21 15:33:27
请尝试以下邮递员:
在标题部分中,示例适用于我..
授权: JWT eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyIkX18iOnsic3RyaWN0TW9kZSI6dHJ1ZSwiZ2V0dGVycyI6e30sIndhc1BvcHVsYXRlZCI6ZmFsc2UsImFjdGl2ZVBhdGhzIjp7InBhdGhzIjp7InBhc3N3b3JkIjoiaW5pdCIsImVtYWlsIjoiaW5pdCIsIl9fdiI6ImluaXQiLCJfaWQiOiJpbml0In0sInN0YXRlcyI6eyJpZ25vcmUiOnt9LCJkZWZhdWx0Ijp7fSwiaW5pdCI6eyJfX3YiOnRydWUsInBhc3N3b3JkIjp0cnVlLCJlbWFpbCI6dHJ1ZSwiX2lkIjp0cnVlfSwibW9kaWZ5Ijp7fSwicmVxdWlyZSI6e319LCJzdGF0ZU5hbWVzIjpbInJlcXVpcmUiLCJtb2RpZnkiLCJpbml0IiwiZGVmYXVsdCIsImlnbm9yZSJdfSwiZW1pdHRlciI6eyJkb21haW4iOm51bGwsIl9ldmVudHMiOnt9LCJfZXZlbnRzQ291bnQiOjAsIl9tYXhMaXN0ZW5lcnMiOjB9fSwiaXNOZXciOmZhbHNlLCJfZG9jIjp7Il9fdiI6MCwicGFzc3dvcmQiOiIkMmEkMTAkdTAybWNnWHFjWVQvdE41MlkzZ2l3dVROd3ZMWW9ZTlFXejlUcThyaDIwR09IMlhHY3haZWUiLCJlbWFpbCI6Im1hZGFuLmRhbGUxQGdtYWlsLmNvbSIsIl9pZCI6IjU5MjEzYzYyYWM2ODZlMGMyNzI2MjgzMiJ9LCJfcHJlcyI6eyIkX19vcmlnaW5hbF9zYXZlIjpbbnVsbCxudWxsLG51bGxdLCIkX19vcmlnaW5hbF92YWxpZGF0ZSI6W251bGxdLCIkX19vcmlnaW5hbF9yZW1vdmUiOltudWxsXX0sIl9wb3N0cyI6eyIkX19vcmlnaW5hbF9zYXZlIjpbXSwiJF9fb3JpZ2luYWxfdmFsaWRhdGUiOltdLCIkX19vcmlnaW5hbF9yZW1vdmUiOltdfSwiaWF0IjoxNDk1MzUwNzA5LCJleHAiOjE0OTUzNjA3ODl9.BkyB0LjKB4FIsCtnM5FcpcBLvKed_j7rCCxZddwiYnU
https://stackoverflow.com/questions/8463809
复制相似问题