您只需將值添加到用戶的身份驗證聲明中即可。在你Startup.Auth.cs,你需要增加以下內容:
var twitterTokenClaim = user.Claims.FirstOrDefault(m => m.ClaimType.EndsWith("twitter:access_token"));
var twitterSecretClaim = user.Claims.FirstOrDefault(m => m.ClaimType.EndsWith("twitter:access_token_secret"));
這些都是實際IdentityClaim
實例:
var twitterOptions = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationOptions
{
ConsumerKey = /* Your App's Consumer Key */,
ConsumerSecret = /* Your App's Consumer Secret */,
Provider = new Microsoft.Owin.Security.Twitter.TwitterAuthenticationProvider
{
OnAuthenticated = (context) =>
{
context.Identity.AddClaim(new System.Security.Claims.Claim("urn:twitter:access_token", context.AccessToken, XmlSchemaString, "Twitter"));
context.Identity.AddClaim(new System.Security.Claims.Claim("urn:twitter:access_token_secret", context.AccessTokenSecret, XmlSchemaString, "Twitter"));
return Task.FromResult(0);
}
}
};
app.UseTwitterAuthentication(twitterOptions);
然後,當你需要的值,就可以通過檢索它們,雖然如此,你需要正確的零檢查,然後訪問他們的ClaimValue
屬性:
if (twitterTokenClaim != null && twitterSecretClaim != null)
{
// work with Twitter API
// Token and secret string values accessed via `twitterTokenClaim.ClaimValue`
// and `twitterSecretClaim.ClaimValue`, respectively
}
的關鍵和祕訣來自Twitter的,特別是從** **你的Twitter帳戶,而不是用戶誰登錄。 – DavidG
是的,正如OP中所述,我已經使用身份驗證設置來檢索該身份驗證。不過,我需要我以後再次存儲的令牌和密碼。 –
你不應該在任何地方存儲,特別是不在用戶聲明中。 – DavidG