如何将React Native应用程序与Spring Boot Oauth2集成

时间:2020-05-31 09:56:06

标签: reactjs spring-boot react-native oauth-2.0

我有一个具有oauth2配置的spring boot应用程序,如下所示:

spring:
  security:
    oauth2:
      client:
        registration:
          google:
            clientId: clientIdValue
            clientSecret: clientSecretValue
            redirectUri: "https://localhost/oauth2/callback/{registrationId}"
            scope:
              - email
              - profile
          facebook:
            clientId: clientIdValue
            clientSecret: clientSecretValue
            redirectUri: "https://localhost/oauth2/callback/{registrationId}"
            scope:
              - email
              - public_profile
        provider:
          facebook:
            authorizationUri: https://www.facebook.com/v3.0/dialog/oauth
            tokenUri: https://graph.facebook.com/v3.0/oauth/access_token
            userInfoUri: https://graph.facebook.com/v3.0/me?fields=id,first_name,middle_name,last_name,name,email,verified,is_verified,picture.width(250).height(250)

现在,我有一个使用google-signin插件通过Google登录的react-native应用程序。如何在登录/注册中将此React-native应用程序与Spring Boot应用程序集成在一起?

正如您在google-signin插件中看到的那样,它在选项中没有任何回调或重定向URL。

1 个答案:

答案 0 :(得分:-1)

我无需使用任何插件即可解决此问题,仅当用户触摸google或facebook登录名时,我便将用户重定向到google或facebook,例如重定向到https://localhost/oauth2/authorize/google?redirect_uri=https://localhost/oauth2/redirect

授权完成后,我检查了用户是否来自移动设备(使用用户代理信息),如果是真的,我将用户重定向到myapp://accessToken/{{token_value_from_google_or_facebook}},通过这种重定向,我的移动应用程序打开了,一切正常。 / p>