gpt4 book ai didi

java - 将应用程序与 spring 社交网站集成

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:36 24 4
gpt4 key购买 nike

我目前有一个使用 Spring MVC 和 Spring Social 设置的网站,因此用户可以使用 Facebook 和 Twitter 登录。

现在我想授权我的 Android 客户端使用 Facebook(或 Twitter)凭据访问我的第三方网站。 As stated here ,这应该是可以的。但他没有继续说如何。谁能帮我解决这个问题?请给我一些关于如何执行此操作的基本概述。我真的被困在这里......

最佳答案

我实际上正在做一个需要做同样事情的项目。我为网站实现了 Spring Security 和 Spring Social,还需要允许 iOS 和 Android 应用程序通过社交网站进行连接。

这是您需要做的:

  1. 将特定于设备的 API 实现到应用项目的开发中。因此,像往常一样在设备上实现 Facebook、twitter 或其他任何东西。您将在那里执行实际的身份验证过程。

  2. 为您的应用实现一个特殊的 URL,以通过社交服务登录。例如,http://yousiteapi.com/services/auth/socialSignin .您将需要将所有参数传递给通常会写入 UserConnection 表实现的此 api - providerId、userProviderId、authenticationToken、secret 等。如果提供者不使用其中之一,只需传入 null或空变量。

  3. 在此 Controller 中,您将需要引用 spring Social SignInAdapter 和 ConnectionSignUp 类的实现以及 ConnectionRepository 和 UserConnectionRepository 的实现,并基本上重现整个注册过程。首先,您需要通过传回的 providerId 确定它是哪个提供者,并使用提供者的 consumerKey 和 consumerSecret 来实现您需要的特定 ConnectionFactory。然后,使用您传入的数据创建 ConnectionData 对象。使用 ConnectionData 对象,您可以创建实际的 Connection 对象。

  4. 现在是您复制普通 Spring Social 登录逻辑的地方:首先,使用您对 UserConnectionRepository 的引用并调用 findUserIdsWithConnection() 方法来查看用户之前是否登录过。如果没有,调用ConnectionSignUp.execute() 方法来创建用户。

  5. 最后,您只需调用 SignInAdapter.signin() 方法让用户登录。不要忘记将您的响应设置为 OK,以便您的应用知道这是成功的。

哇,听起来很多。实际上听起来比实际情况更多。希望这至少能帮助您指明正确的方向。

关于java - 将应用程序与 spring 社交网站集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15395634/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com