gpt4 book ai didi

android - 如何在 OAuth 2.0 中为移动应用程序使用隐式授权类型?

转载 作者:可可西里 更新时间:2023-11-01 04:35:01 25 4
gpt4 key购买 nike

我读过 tutorial关于 OAuth 2.0 和隐式授权类型。我仍然不明白隐式授权类型如何适用于移动设备(iOS 或 Android)。例如,如果我们创建一个 SSO 应用程序(如 Facebook)并制作一个 SDK 来提供此服务。 SSO 应用程序是通过实用方式还是通过 Web View 联系授权服务器?

还有一点是 - 隐式授权类型要求您发送重定向 URI。我知道您可以为 iOS 制作自定义 uri 模式并执行此操作。我不明白的是授权服务器如何调用设备上的自定义 URI。

最佳答案

对于移动应用程序中的 Oauth2,您可以将 redirect_uri 设置为一些虚拟 URL,例如 http://localhost/redirect/,然后使用 webview 的“onload”事件来检查 access_token

的 URL

例如在 iOS 中,您可以在 webview 中加载授权 url,并使用委托(delegate)方法检查 redirect_uri 是否有 access_token,如下所示:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
NSURL *Url = [request URL];
...
}

您还可以使用 InAppBrowser 在 Phonegap 应用中使用 HTML5/JavaScript 执行此操作:

var loginWindow = window.open(login_url, '_blank', 'location=yes');
$(loginWindow).on('loadstart', function(e) {
var url = e.originalEvent.url;
var access_token = url.split("access_token=")[1];
...
}

完整代码在这里:https://github.com/krisrak/jquery-cordova-oauth2

关于android - 如何在 OAuth 2.0 中为移动应用程序使用隐式授权类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332065/

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