当前位置: 首页 > 知识库问答 >
问题:

在Azure托管中使用Google.api.auth时访问拒绝错误

万选
2023-03-14

我正在使用google drive API,google developer account我启用了此API并获得了clientId、clientSecret等凭据。当我在控制台中运行应用程序时,我正在使用代码应用程序工作正常,但当我在azure服务器中托管代码时,它会出现如下错误

System.Net。HttpListenerException(0x80004005):在System.Net.HttpListener上访问被拒绝。SetupV2Config()\r\n位于System.Net.HttpListener。Start()\r\n位于Google.api.Auth.OAuth2.localservercodecovereiver。StartListener()\r\n位于Google.API.Auth.OAuth2.LocalServerCodeReceiver.d__14.MoveNext()\r \n---从引发异常的上一位置开始的堆栈结束跟踪---\r\n

我在生产中也使用了相同的凭证

下面我用的代码:string[]scopes 1 = new string[]{ DriveService。经营范围。scope . drive file };

        var clientId = "clientidfrom developergoogle";
        var clientSecret = "secretkeyfrom developergoogle";
        var credential1 = GoogleWebAuthorizationBroker.AuthorizeAsync(new ClientSecrets
        {
            ClientId = clientId,
            ClientSecret = clientSecret
        },
         scopes1,
        "Admin",
         CancellationToken.None).Result;

有人能帮我吗?

谢啦

共有1个答案

公良飞尘
2023-03-14

当我看这个例外和具体的这一部分时。< code > localservercode receiver 看起来google代码试图在一个空闲的端口上运行一个本地服务器。但内部防火墙和azure网络防火墙都可能会阻止该端口。您需要的是一种指定接收器端口的方法,以便您可以在防火墙中打开该端口。

拒绝访问错误的真正原因是HttpListener正在使用http.sys将特定端口绑定到侦听器。但是因为它在非管理员端口中,所以不允许绑定。这意味着您必须像这样设置acl。

netsh超文本传输协议add urlacl=超文本传输协议://: 80/MyUri user=DOMAIN\user

MyUri是OAuth回调。

 类似资料:
  • 有没有办法将Azure托管标识与LinuxVM一起使用来访问AzureSQL数据库?我只能找到这个文档https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-windows-vm-access-sql它专门针对Windows VM。Linux机器是否有文档

  • 问题内容: 我在使它工作时遇到问题。它接收一个字符串,其中包含几条信息。但是,当我尝试将String写入文件以跟踪程序随时间的变化时,我收到拒绝访问错误: 叠层纱 完整的堆栈跟踪: 58行: 问题答案: 您必须先创建文件夹。但是您不能调用file.mkdirs()-您需要调用file.getParentFile()。mkdirs()-否则,您将使用文件名创建一个文件夹(这将阻止您使用以下命令创建文

  • 我得到的错误是“Access Denied”,这(我认为)意味着id、secret和Vault的url没有问题。但是,我不知道我可以做什么来修复这个错误,也许在Azure门户中有一个设置阻止我读取一个秘密?

  • 问题内容: 我得到以下IOException: 尝试运行以下代码时: 在我看来,由于某种原因,JVM无法创建新文件。如果文件已经存在,则代码可以很好地运行。是否存在某种访问文件来指示JVM是否可以创建新文件还是我只是在做错什么? 任何帮助深表感谢 :-) 我正在运行Java 1.4,并且已经在Windows XP中的JDeveloper中进行了测试。 问题答案: 问题在于这些调用彼此接替: 创建操

  • 我正在开发一个名为的简单mariaDB数据库,还有一个名为的mariaDB用户。我知道StackOverflow上有很多类似的帐户,但我使用的不是根帐户,而是具有最低权限的普通帐户。 我可以通过SSH访问终端中的数据库,如下所示: 但是,当我在localhost上执行JDBC代码时,访问将在行被拒绝: java JDBC代码是:(我已经删除了类中一些不必要的内容,但是如果我遗漏了任何重要的内容,请

  • 我正在尝试使用托管标识从Azure Windows VM访问Azure存储资源。 我已经按照这里的指示做了https://docs.microsoft.com/en-us/azure/active-directory/managed-identities-azure-resources/tutorial-vm-windows-access-storage但本教程中的访问部分是使用完成的。NET,这