就OAuth访问而言,仅作为客户端而不使用服务器来实现Dropbox或GoogleDrive或任何客户端的正确/推荐方法是什么?
许多提供程序(例如Dropbox)都不允许使用不是http / https的redirect_uri。在手机上,似乎Google(和Apple?)将不允许从操作系统的浏览器(为了用户方便)访问OAuth请求,这意味着应用程序从以下位置捕获授权代码(不涉及服务器)的唯一方法oauth通过告诉OS希望拦截这样的URI来拦截诸如“ http://localhost:9876/myapplication/”之类的URI。如果没有复杂/复杂的设置(需要this之类的服务器),则无法拦截http URI(操作系统会将其重定向到浏览器)。
还有一个问题,必须告诉服务提供商有关我的应用程序的信息,并检索客户ID /秘密,我必须在应用程序中对其进行硬编码。
有一种OAuth授予类型,我只需要获取用户的用户名和密码并将其直接发送到服务器即可。这似乎是阴暗的,并且可能不为用户所接受。
正确的方法是什么?我是否需要运行服务器/服务才能创建仅是这些服务的第三方门户的应用程序?
谢谢
答案 0 :(得分:0)
一种解决方法(如@gbazilio的评论所建议)是通过在Web视图内调用oauth端点来手动实现身份验证。为了使其与服务提供商(例如google)(从网络视图阻止oauth)一起使用,是在将oauth请求中的user-agent标头设置为某些移动浏览器用户代理,然后一切正常。