使用libgit2sharp-SSH使用SshUserKeyCredentials进行身份验证时遇到一些问题:
var co = new CloneOptions();
co.CredentialsProvider = (_url, _user, _cred) => new SshUserKeyCredentials { PrivateKey="C:\\path\\to\\private_key" };
Repository.Clone("git@... .repository.git", path, co);
Run Code Online (Sandbox Code Playgroud)
我发现SshUserKeyCredentials对象浏览源代码,所以我的第一个问题是,是否可以使用此对象从gitlab部署基于密钥的签出?
该对象似乎需要PrivateKey,Username,PublicKey和Passphrase的任意组合.我目前正在使用PrivateKey.
我最终得到的错误:
{"Failed to start SSH session: Unable to exchange encryption keys"}
Run Code Online (Sandbox Code Playgroud)
如果这种方式不起作用,是否有另一种方法可以使用部署密钥以编程方式管理来自C#环境的git?
我正在尝试弄清楚如何使用 NodeJS 进行下面的身份服务器 4 身份验证 - 在这里超出我的舒适区。
services.AddAuthentication(IdentityServerAuthenticationDefaults
.AuthenticationScheme)
.AddIdentityServerAuthentication(
options =>
{
options.Authority = "<authority-url>";
options.ApiName = "<api-url>";
});
Run Code Online (Sandbox Code Playgroud)
我在这里的流程中遗漏了一些东西,因为 C# 实现没有提供秘密或类似的东西 - 所以令牌可能是通过身份服务器验证的?如果我没有“秘密”来验证它,我将如何使用 NodeJS 验证令牌?
我偶然发现了自省端点- 我是否朝着正确的方向前进?
我在尝试使用 SQL Server Bulk Copy API 和SQLServerBulkCSVFileRecord. 仅出于测试目的,我制作了一个仅包含nvarchar(500)列的表,并添加了元数据,如下所示:
fileRecord = new SQLServerBulkCSVFileRecord(csvPath, false);
for(int i=1; i<=colCount; i++) {
fileRecord.addColumnMetadata(i, null, java.sql.Types.NVARCHAR, 500, 0);
}
Run Code Online (Sandbox Code Playgroud)
在使用带有 JDBC 的 Microsoft SQL 批量复制 API 后,我得到以下堆栈跟踪,但我找不到任何有关SQLServerBulkCSVFileRecord. 我不知道参数代表什么addColumnMetaData:我只是假设看这个例子,第一个参数代表列索引,然后显然第三个参数代表数据类型,第四个参数代表列的字节数(?)。
com.microsoft.sqlserver.jdbc.SQLServerException: Unicode data is odd byte size for column 1. Should be even byte size.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:217)
at com.microsoft.sqlserver.jdbc.TDSTokenHandler.onEOF(tdsparser.java:251)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:81)
at com.microsoft.sqlserver.jdbc.TDSParser.parse(tdsparser.java:36)
at com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.doInsertBulk(SQLServerBulkCopy.java:1433)
at com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.access$200(SQLServerBulkCopy.java:41)
at com.microsoft.sqlserver.jdbc.SQLServerBulkCopy$1InsertBulk.doExecute(SQLServerBulkCopy.java:666)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:6276)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1793)
at com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.sendBulkLoadBCP(SQLServerBulkCopy.java:699)
at com.microsoft.sqlserver.jdbc.SQLServerBulkCopy.writeToServer(SQLServerBulkCopy.java:1516) …Run Code Online (Sandbox Code Playgroud) bulkinsert ×1
c# ×1
express ×1
java ×1
jdbc ×1
libgit2sharp ×1
libssh2 ×1
node.js ×1
sqlbulkcopy ×1