最近,我一直在Android上使用Google API,特别是Analytics,AdSense和Tasks API。 我看过一些Google提供的样本,他们使用这个语句来获得一个GoogleAccountCredential对象 https://code.google.com/p/google-api-java-client/source/browse/tasks-android-sample/src/main/java/com/google/api/services/samples/tasks/android/ TasksSample.java?repo=samples credential = GoogleAccountCredential.usingOAuth2(this, Collections.singleton(TasksScopes.TASKS)); 但是,如果我阅读文档,例如: http://developer.android.com/google/auth/http-auth.html http://developer.android.com/google/play-services/auth.html 他们都提到下面的方法来获取令牌: token = GoogleAuthUtil.getToken(mActivity, mEmail, mScope); 我很困惑在哪个场景以及为什么使用哪一个。 我一直在使用方法号。 1成功,而不需要在喜好中坚持令牌(我想这是由GoogleAccountCredential自动完成的) 谁能告诉我为什么有人会使用第一种方法而不是第二种? 如何在第一个方法中访问身份validation令牌?
我一直在DotNetOpenAuth工作很多。 首先我们使用了5.0.0-alpha1,但是我们切换到了v4.0.30319,因为我们无法find导致我们问题的原因。 我们正在Visual Studio 2013中使用MVC 5 RC在.NET 4.5.1 RC上构build一个C#Web API项目。我们实现了IAuthorizationServerHost , INonceStore和ICryptoKeyStore 。 我们遇到的问题是围绕以下情况: public class TokensController : Controller { private readonly AuthorizationServer authorizationServer = new AuthorizationServer(new MyAuthorizationServer()); /// <summary> /// This action will handle all token requests. /// </summary> /// <returns>The action result that will output the token response.</returns> [HttpPost] public ActionResult Index() { […]
我们有一个独立的Java应用程序(请参阅“安装的应用程序”: https : //developers.google.com/accounts/docs/OAuth2 ),它定期运行并使用Google API(更新来自客户数据库/ ldap / …的一些信息) 。 要访问Google API,我们将用户名和密码存储在configuration文件中,这是一种安全风险,客户不喜欢这样做。 所以我们希望使用OAuth2长生存取令牌。 Google OAuth2访问令牌的默认到期时间是什么? 因为我们只有在应用程序中访问令牌,所以当访问令牌到期时,应用程序本身不能刷新它。 就我个人而言,我认为在这种情况下OAuth2的实施不会带来任何重大的好处,但让我们专注于主要问题 – 默认到期时间。
我正在用Omniauth构build一个Rails应用程序来login服务。为了validationGoogle,我使用了OmniAuth Google OAuth2策略 。 当用户点击“允许访问”button时,一切正常。但是,当用户点击“不,谢谢”button提出下面的错误。 OmniAuth::Strategies::OAuth2::CallbackError 我已经尝试在应用程序控制器中添加下面的救援代码。 class ApplicationController < ActionController::Base rescue_from OmniAuth::Strategies::OAuth2::CallbackError, :with => :omniauth_callback_error_handler protected def omniauth_callback_error_handler redirect_to init_sign_in_users_path end end 但没有运气。 任何想法? 谢谢 :)
我正在我的身份validation服务器上实现OAuth 2.0 JWT access_token。 但是,我并不清楚JWT“aud”声明和client_id http头值之间的区别。 他们是一样的吗? 如果不是,你能解释两者的区别吗? 我怀疑是“aud”是指资源服务器,而client_id是指authentication服务器认可的客户端应用程序之一(即web应用程序或IOS应用程序)。 在我目前的情况下,我的资源服务器也是我的Web应用程序客户端。
我尝试发布sereval范围值,以允许我的应用程序的一些谷歌服务… 我尝试了两个input字段 <input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar" /> <input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.email" /> 并带有+分隔符的一个input字段 <input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar+https://www.googleapis.com/auth/userinfo.email" /> 当我发送我的表格只有一个范围它的工作。 否则与sereval范围值谷歌redirect我这个错误的描述: http://localhost:49972/redirect.aspx#error=invalid_request&error_description=OAuth+2+parameters+can+only+have+a+single+value:+scope&error_uri=http://code.google.com/apis/accounts/docs/OAuth2.html 在谷歌开始与oAuth2它适用于两个范围值。 这是我的代码: <form id="form1" method="post" action="https://accounts.google.com/o/oauth2/auth?" > <div> <input type="hidden" name="response_type" value="code" /> <input type="hidden" name="client_id" value="my client id" /> <input type="hidden" name="redirect_uri" value="http://localhost:49972/redirect.aspx" /> <input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar" /> <input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.email" […]
我正在开发一个Play 2.0和Scala的应用程序,它公开了一些REST API。 这些API将被不同的应用程序,Web,移动或桌面使用,所以OAuth协议(OAuth2)似乎是最合适的。 另外,我会最初使用Facebook等外部OAuth提供程序。 我的问题是:授权个别REST调用的确切stream程是什么? 我应该期待在服务器端每次打电话,我应该与外部提供商检查什么? 使用OAuth1,我知道客户端发送了带有所有签名请求的令牌,但是使用Oauth2我认为不是这样,我想如果一个令牌没有签名是不可信的,所以我不认为这是stream量。
在OAuth 1.0中,双腿非常容易:只需像往常一样发送请求,并省略access_token标头。 事情似乎已经在OAuth 2.0中发生了变化(很显然,正如我今天发现的:))。 在OAuth 2.0中,请求不再具有诸如随机数,消费者密钥,时间戳等的标题。这仅仅被replace为: Authorization: OAuth ya29.4fgasdfafasdfdsaf3waffghfhfgh 我了解3种一站式授权在OAuth 2.0和应用程序stream程中的工作原理。 但是2.0版本中的两条腿怎么样? 是否可以devise一个既可以支持两脚也可以支持三脚的OAuth 2.0的API? 我一直在寻找关于这方面的信息,但我一直在寻找1.0的很多东西,2.0几乎没有。
为什么您需要在Facebook OAuth2身份validationstream程中同时使用“代码”和“令牌”,如下所述: https : //developers.facebook.com/docs/authentication/ ? 如果您查看OAuth对话框参考( https://developers.facebook.com/docs/reference/dialogs/oauth/ ),您似乎只使用令牌获取有关用户的信息,并且如果您指定response_type参数作为token或code,token ,那么你第一次得到令牌。 为什么你需要得到一个“代码”,然后使用代码来获得“令牌”,而不是直接获取令牌? 我想我误解了一些关于OAuth如何工作的基本知识,但是如果您第一次在对话框中获得令牌,则似乎完全避免了https://graph.facebook.com/oauth/access_token的请求。
我正在Ruby on Rails 3中开发一个API,我想用Oauth2来保护它。 换句话说,我需要创build一个Oauth提供者。 Rails 3有没有工作的gem,或者有关于这个问题的教程? UPDATE 我知道Rails是基于REST的,所以我觉得很奇怪,没有关于如何创build一个公共的API和保护它的教程。 有谁知道任何好的教程。 优于oAuth。 感谢所有的帮助!