Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/powerbi/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth Power BI:提供的凭据不能用于源_Oauth_Powerbi_Keycloak_Snowflake Cloud Data Platform_Connector - Fatal编程技术网

Oauth Power BI:提供的凭据不能用于源

Oauth Power BI:提供的凭据不能用于源,oauth,powerbi,keycloak,snowflake-cloud-data-platform,connector,Oauth,Powerbi,Keycloak,Snowflake Cloud Data Platform,Connector,我遇到了Oauth和自定义电源BI连接器的问题。有可能我想做什么吗 我正在为Snowflake构建一个自定义电源BI连接器,在这里我想使用KeyClope作为身份提供者。身份验证是通过Oauth2完成的。可以使用ODBC驱动程序实现与Snowflake的OAuth连接。连接字符串中的验证器值应设置为“oauth” 但是当使用OAuth作为AuthKind时,我无法让它在Power BI连接器中工作,而使用UsernamePassword工作正常 这是生成连接字符串的部分: ...

我遇到了Oauth和自定义电源BI连接器的问题。有可能我想做什么吗

我正在为Snowflake构建一个自定义电源BI连接器,在这里我想使用KeyClope作为身份提供者。身份验证是通过Oauth2完成的。可以使用ODBC驱动程序实现与Snowflake的OAuth连接。连接字符串中的验证器值应设置为“oauth”

但是当使用OAuth作为AuthKind时,我无法让它在Power BI连接器中工作,而使用UsernamePassword工作正常

这是生成连接字符串的部分:

...
            else if AuthKind = "OAuth" then
                [        
                      driver = "SnowflakeDSIIDriver"
                      ,server = Host
                      ,warehouse = warehouse
                      ,authenticator = "oauth"
                      ,token=Extension.CurrentCredential()[access_token]
                ]
            else if AuthKind = "UsernamePassword" then
               [        
                      driver = "SnowflakeDSIIDriver"
                      ,server = Host
                      ,warehouse = warehouse
                      ,authenticator = "snowflake" 
                ]
...

在调试模式下,我收到一个access_令牌,但当我想使用此令牌建立连接时,我得到以下错误:提供的凭据无法用于。。。来源

在使用OAuth时,似乎无法对odbc源使用连接字符串

在Snowflake中,我创建了与以下设置的安全集成:

create security integration keycloak_oath
  type = external_oauth
  enabled = true
  external_oauth_type = 'custom'
  external_oauth_issuer = 'https://<NAME_OF_KEYCLOAK_SERVER>/auth/realms/<NAME_OF_REALM>'
  external_oauth_token_user_mapping_claim = 'upn'
  external_oauth_snowflake_user_mapping_attribute = 'email_address'
  external_oauth_jws_keys_url = 'https://<NAME_OF_KEYCLOAK_SERVER>/auth/realms/<NAME_OF_REALM>/protocol/openid-connect/certs'
  external_oauth_any_role_mode = 'ENABLE';
创建安全集成密钥斗篷\u
类型=外部\u oauth
启用=真
外部_oauth_类型='自定义'
外部的https:///auth/realms/'
外部\u oauth\u令牌\u用户\u映射\u声明='upn'
外部\u oauth\u雪花\u用户\u映射\u属性='email\u address'
外部\u oauth\u jws\u密钥\u url='https:///auth/realms//protocol/openid-connect/certs'
外部_oauth_any_role_mode='ENABLE';
在KeyClope领域中,我创建了一个具有以下设置的客户端(以及其他设置):

  • 客户端协议:openid连接
  • 有效的重定向URI: