我已经在客户端成功实现了Google登录。我的下一步是在后端验证用户的ID令牌。
根据本指南的建议,建议我使用Google API Client Library。然而,我的公司正在使用。net框架2.0创建网站,目前不支持(v1.9.2)。
在我的包管理器控制台中运行Install-Package Google.Apis
给了我以下错误:Install-Package : Could not install package 'Microsoft.Bcl 1.1.10'. You are trying to install this package into a project that targets '.NETFramework, Version=v2.0', but the package does not contain any assembly references or content files that are compatible with that framework.
我有什么选择?是否有其他方法可以验证ID令牌或使用Google API Client Library?
简单的答案是你不能。当前版本的Google .net客户端库只支持。net Framework 4.0和4.5。你要么使用它,要么自己编码。
Oauth2和所有的API请求都是简单的HTTP post和HTTP GETS,所以从头开始编码并不像你想象的那么难。使用。net Framework 2.0。
第一步请求认证:(HTTP GET)
https://accounts.google.com/o/oauth2/auth?client_id= {clientid} .apps.googleusercontent.com& redirect_uri = urn: ietf:工作组:oauth: 2.0: oob&范围= https://www.googleapis.com/auth/analytics.readonly& response_type代码=
步骤2授权应用程序(HTTP POST)
https://accounts.google.com/o/oauth2/token代码= 4/X9lG6uWd8-MMJPElWggHZRzyFKtp.QubAT_P-GEwePvB8fYmgkJzntDnaiAI& client_id = {ClientId} .apps.googleusercontent.com& client_secret = {ClientSecret}, redirect_uri = urn: ietf:工作组:oauth: 2.0: oob& grant_type = authorization_code
步骤3 Refresh Refreshtoke (HTTP post)
https://accounts.google.com/o/oauth2/tokenclient_id = {ClientId} .apps.googleusercontent.com& client_secret = {ClientSecret}, refresh_token = 1/ffYmfI0sjR54Ft9oupubLzrJhD1hZS5tWQcyAvNECCA& grant_type = refresh_token
代码摘自Google 3 legs oauth2 flow教程