gpt4 book ai didi

c# - 我的oauth2回调页面可以是同一个html页面吗?我如何获得 token ?

转载 作者:行者123 更新时间:2023-12-03 12:33:15 25 4
gpt4 key购买 nike

首先,我使用静态 html 和 javascript 以及 C# Web API。所以我有一个调用 oauth2 服务器的链接,在我的 html 文件上,比如index.html现在把回调页面设置为index.html就可以了

它似乎有效,并且它被发送到index.html?code=125f0...

这样做可以吗?或者我需要一个单独的回调页面吗?代码就是 token 吗?

现在我应该如何使用它?javascript 似乎没有在回调中受到影响。编辑,实际上,javascript 似乎在调用中受到了影响,但我没有得到任何未定义的信息:

    $(function () {
var params = {},
queryString = location.hash.substring(1),
regex = /(^&=]+)=([^&*])/g,
m;
while (m = regex.exec(queryString)) {
params[decodeURIComponent(m[1])] = decodeURIComponent(m[2]);
}
if (params.error) {
if (params.error == "access_denied") {
sAccessToken = "access_denied";
//alert(sAccessToken);
}
} else {
sAccessToken = params.code;
alert(sAccessToken);
}
});

另外,我的回调页面可以是 C# Web api 调用吗?并以这种方式发送 token 。我猜不会,因为那么你永远不会知道哪个用户代理正在发送它,并且除非你以某种方式传递了 id 并使用了 signalR,否则无法进行通信?似乎更好的是在 javascript 中获取它并将 token 发送到 Web api。但是,如果 Web api 具有 token ,那么它可以调用该资源吗?

抱歉,我还在学习

最佳答案

OAuth2 有各种“配置文件”。 “授权代码授予”流程(您正在使用的流程)需要一个服务器端组件来交换 token 的代码。

单页应用程序通常使用隐式流程。请参阅此处的快速描述:https://docs.auth0.com/protocols#5 (忽略对“Auth0”的引用,无论实现如何,底层协议(protocol)都是相同的)。

有关这两个流程的更详细说明,请参阅此处:What is the difference between the 2 workflows? When to use Authorization Code flow?

关于c# - 我的oauth2回调页面可以是同一个html页面吗?我如何获得 token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23838380/

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