【发布时间】:2018-06-27 18:58:06
【问题描述】:
Request URL:
POST https://example.com/oauth/token
Request Headers:
Content-Type: application/x-www-form-urlencoded
Request POST Body:
grant_type=password&username=joebloggs&
password=password1234&client_id=myclient&client_secret=myclientsecret
Response:
{
"access_token": "omitted for brevity",
"token_type": "bearer",
"expires_in": 1200,
"refresh_token": "b3cc9c66b86340c5b743f2a7cec9d2f1"
}
我想使用从单页应用发送的 JWT 来保护我的 Umbraco Web api 端点。我发现this lib 可以满足我的大部分需求。
由于我使用了InMemoryOAuthClientStore,因此文档声明必须在身份验证请求中提供客户端 ID 和密码(我假设这用于匹配商店中的 OAuthClient?):
client_id = 有效的客户端 ID(仅在配置了客户端存储时才需要)
client_secret = 有效的客户端密码(仅在配置了客户端存储且客户端“安全”时才需要)
我想知道它们的用途。如果我使用来自客户端的 AJAX 调用对https://example.com/oauth/token 进行此授权调用,我需要在客户端存储 id 和 secret。我的直觉告诉我,这不是它的预期用途。
另一方面,在这种情况下,客户端 ID 和密码都伴随着用户凭据,因此如果没有有效的用户名和密码,它们就毫无价值。
请有人对此有所了解。
【问题讨论】:
标签: c# asp.net oauth jwt umbraco