为啥用于 facebook 登录的 redirect_uri 的自定义方案不起作用?
Posted
技术标签:
【中文标题】为啥用于 facebook 登录的 redirect_uri 的自定义方案不起作用?【英文标题】:Why is custom scheme for redirect_uri for facebook login not working?为什么用于 facebook 登录的 redirect_uri 的自定义方案不起作用? 【发布时间】:2017-06-19 07:28:24 【问题描述】:问题答案:facebook redirect_uri set to ios URL Scheme 没有解决我的问题。
尝试在 android WebView 中实现 Facebook 登录(使用 Facebook SDK 正在工作,但出于某种原因想在 WebView 中实现它):
private void launchFacebookOauth()
// intent
Intent intent = new Intent(Intent.ACTION_VIEW, getAuthorizationUri());
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
finish();
public Uri getAuthorizationUri()
final String CLIENT_ID = "client_id";
final String RESPONSE_TYPE = "response_type";
final String REDIRECT_URI = "redirect_uri";
final String CODE = "code";
Map<String, String> params = new HashMap<>();
params.put(CLIENT_ID, clientId);
params.put(RESPONSE_TYPE, CODE);
params.put(REDIRECT_URI, redirectUri);
Request request = new Request.Builder().url(AUTHORIZATION_ENDPOINT_URL).build();
HttpUrl.Builder builder = request.url().newBuilder();
for (Map.Entry<String, String> param : params.entrySet())
builder.addQueryParameter(param.getKey(), param.getValue());
HttpUrl httpUrl = builder.build();
return Uri.parse(httpUrl.toString());
当使用方案:http://
或 https://
用于 redirect_uri 时,Android 会显示对话框以从 MyTestApp 和浏览器中进行选择(不希望出现这种行为)。因此,尝试使用自定义方案:fb12345678
& host hovermind.com
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE"/>
<data android:scheme="fb12345678" android:host="hovermind.com"/>
</intent-filter> .
redirect_uri: fb12345678://hovermind.com
在 WebView 中出现错误:
无法加载 URL:此 URL 的域未包含在应用的 领域。要加载此 URL,请添加您的所有域和子域 应用程序到应用程序设置中的应用程序域字段。
仅供参考,hovermind.com
已添加到“应用程序域”部分和“有效 OAuth 重定向 URI”部分(开发人员仪表板)。尝试在有效 OAuth 重定向 URI 部分添加 fb12345678://hovermind.com
时,Facebook 显示错误对话框。
如何使用来自 WebView(Facebook 登录)的自定义 redirect_uri 方案来启动我的应用程序?
也不想使用
App Links
(最小 SDK >= 23 和服务器配置问题)
【问题讨论】:
【参考方案1】:我找不到任何解决方案或 *** 答案,因此得出使用 Facebook Login for Android 代替 WebView 的结论
【讨论】:
以上是关于为啥用于 facebook 登录的 redirect_uri 的自定义方案不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥 facebook sdk 会自动让我登录 iPhone 上安装的 facebook 应用程序?