我想在Java中为我的Web应用程序实现XOAuth 2.0。
我的应用程序要求用户输入用户名和密码。现在使用这些凭据我想通过Gmail验证用户。
请建议库,以及如何实现它? 我是使用Gmail进行身份验证的新手。需要一些建议。
答案 0 :(得分:-1)
据我所知,OAuth 2.0的目的是防止用户凭据泄露到第三方应用程序中。
abstract flow shows客户端(第三方应用)如何使用access_token
(使用其中一种授权类型检索)来访问资源。
规范还定义了要使用的基本HTTPS调用,例如在authorization code grant type的情况下(我认为此流程最适合您)。这有2个请求,一个用于code
(用户代理重定向用于将代码发送到第三方应用),另一个用于access_token
。
授权代码请求和响应
GET /authorize?response_type=code&client_id=s6BhdRkqt3&state=xyz
&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb HTTP/1.1
Host: server.example.com
HTTP/1.1 302 Found
Location: https://client.example.com/cb?code=SplxlOBeZQQYbYS6WxSbIA
&state=xyz
令牌请求和响应:
POST /token HTTP/1.1
Host: server.example.com
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW
Content-Type: application/x-www-form-urlencoded
grant_type=authorization_code&code=SplxlOBeZQQYbYS6WxSbIA
&redirect_uri=https%3A%2F%2Fclient%2Eexample%2Ecom%2Fcb
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"access_token":"2YotnFZFEjr1zCsicMWpAA",
"token_type":"example",
"expires_in":3600,
"refresh_token":"tGzv3JOkF0XG5Qx2TlKWIA",
"example_parameter":"example_value"
}
因此,您无需向用户询问GMail凭据。
Here您可以找到符合OAuth 2.0标准的应用程序的弹出式安全示例。
我希望我能提供帮助。