我不明白这个库是如何工作的.请问你能帮帮我吗 ?
这是我的简单代码:
public void TestJwtSecurityTokenHandler()
{
var stream =
"eyJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJJU1MiLCJzY29wZSI6Imh0dHBzOi8vbGFyaW0uZG5zY2UuZG91YW5lL2NpZWxzZXJ2aWNlL3dzIiwiYXVkIjoiaHR0cHM6Ly9kb3VhbmUuZmluYW5jZXMuZ291di5mci9vYXV0aDIvdjEiLCJpYXQiOiJcL0RhdGUoMTQ2ODM2MjU5Mzc4NClcLyJ9";
var handler = new JwtSecurityTokenHandler();
var jsonToken = handler.ReadToken(stream);
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
字符串需要采用紧凑的JSON格式,格式如下:Base64UrlEncodedHeader.Base64UrlEndcodedPayload.OPTIONAL,Base64UrlEncodedSignature'.
如果你在jwt.io网站上复制流,它工作正常:)
使用System.IdentityModel.Tokens时出现冲突:
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Text;
public voidGenereToken()
{
const string sec = "401b09eab3c013d4ca54922bb802bec8fd5318192b0a75f201d8b3727429090fb337591abd3e44453b954555b7a0812e1081c39b740293f765eae731f5a65ed1";
var now = DateTime.UtcNow;
var securityKey = new InMemorySymmetricSecurityKey(Encoding.Default.GetBytes(sec));
var signingCredentials = new SigningCredentials(securityKey,
SecurityAlgorithms.RsaSha256Signature, SecurityAlgorithms.Sha256Digest);
var header = new JwtHeader(signingCredentials);
var payload = new JwtPayload
{
{"iss", "a5fgde64-e84d-485a-be51-56e293d09a69"},
{"scope", "https://example.com/ws"},
{"aud", "https://example.com/oauth2/v1"},
{"iat", now},
};
var secToken = new JwtSecurityToken(header, payload);
var handler = new JwtSecurityTokenHandler();
var tokenString = handler.WriteToken(secToken);
Console.writeLine(tokenString)
}
Run Code Online (Sandbox Code Playgroud)
我创建标题时出现以下错误(var header = …
我想知道如何从json文件或xml文件创建一个objet类?
例如:
我从webservice获取这个json文件:
{"nid":"3798","vid":"3788","type":"contact","language":"fr","title":"G","uid":"1","status":"1","created":"1374598689","changed":"1374598689","comment":"1","promote":"0","sticky":"0","tnid":"0","translate":"0"}
Run Code Online (Sandbox Code Playgroud)
我想创建一个类,如:
Public Class Card
Public nid As Integer
Public vid As Integer
Public type As String
Public language As String
Public title As String
.
.
.
End Class
Run Code Online (Sandbox Code Playgroud)
NB:
如果我别无选择,我会手动创建我的课...... :-(
提前感谢您的帮助
埃里克
我想使用Microsoft IdentityModel创建自己的JWT令牌.这个库似乎很好,但没有足够的记录:-(
所以我的问题是我不知道如何将X509SigningCredentials转换为SigningCredentials,所以我无法创建JwtHeader ...
这是我的代码:
public void GenereToken()
{
var certThumbPrint = "ACCB5050C2591FF9CB9F90D71D8B96BE13DC9320";
X509Store certStore = new X509Store(StoreName.CertificateAuthority, StoreLocation.LocalMachine);
certStore.Open(OpenFlags.ReadOnly);
X509Certificate2Collection certCollection = certStore.Certificates.Find(X509FindType.FindByThumbprint, certThumbPrint, false);
certStore.Close();
var header = new System.IdentityModel.Tokens.Jwt.JwtHeader(new X509SigningCredentials(certCollection[0]));
var payload = new JwtPayload
{
{"iss", "a5ghgde64-e8g4d-48ga-beg1-56e293d09a69"},
{"scope", "example.com"},
{"aud", "example.com"},
{"iat", 1441698079},
};
var secToken = new JwtSecurityToken(header, payload);
var handler = new JwtSecurityTokenHandler();
var cielToken = handler.WriteToken(secToken)
}
Run Code Online (Sandbox Code Playgroud)
有人可以帮我吗?
我正在使用bootstrap-select(来自Silvio Moreto).我想更改列表项的背景颜色和字体颜色.默认为:
我想要像:
我尝试了这个,但没有改变:
.bootstrap-select.btn-group .dropdown-menu li:hover{
background-color: rgb(191, 82, 121);
color: white;
}
Run Code Online (Sandbox Code Playgroud)
任何的想法 ?