任何人都可以帮助我了解如何使用Spring Framework为OAuth2构建Android客户端?我必须使用Spring for Android或Spring Social或Spring Security?我已经使用Spring Framework构建了SaaS,它使用了Spring Security OAuth2模块。
答案 0 :(得分:1)
OAuth 2.0在RFC 6749中定义。规范不依赖于Spring。因此,即使您的服务器端实现使用Spring,也不一定意味着您的Android应用程序必须使用Spring客户端库。您可以使用任何您喜欢的OAuth 2.0客户端库。但是,在没有任何专用库的情况下实施OAuth 2.0客户端并不困难。
对于Android应用程序,您的服务器的authorization endpoint可能希望客户端应用程序使用" Authorization Code Flow"。如果是这样,您必须实现的是授权代码流的客户端代码。简而言之,您需要做的是提出一个等同于以下内容的请求:
您的服务器将返回HTTP状态代码为" 302 Found"的响应。响应包含Location
标头,其值为URL。当最终用户授权您的客户端应用程序时,URL的查询组件包含code
参数,或者当最终用户拒绝您的客户端应用程序时,该参数包含error
参数。在任何一种情况下,您都必须从网址中提取code
或error
。
code
的值称为" 授权码"。向服务器的token endpoint发出请求以获取访问令牌。
阅读RFC 6749,然后向您的朋友或同事询问更多详情。