vahidn / aspnetcore2jwtauthentication Goto Github PK
View Code? Open in Web Editor NEWJwt Authentication without ASP.NET Core Identity
License: Apache License 2.0
Jwt Authentication without ASP.NET Core Identity
License: Apache License 2.0
سلام و احترام
من میخوام از وب سرویس های بدون احراز هویتی که تولید کردم فرد دیگه ای نتونه ازشون تو یه برنامه یا سایت دیگه بدون خبر من استفاده کنه.
میخوام تو انگولار آدرس وب سرویس رو هر بار در زمان فراخوانی به روشی مخفی کنم،
و با روش های رمزگذاری خاصی و استفاده از کلید مخفی آدرس وب سرویس رو از
localhost://api/news/get
به
localhost://api/xxxxxx
تبدیل کردم و سمت سرور با استفاده از همون کلید دوباره رمزگشایی و به کنترلر مربوطه ارسال میشه
مشکلم اینه که زمانی که دارم آدرس رو با یک کلید کد میکنم چون سمت کلاینت هست کلید و کل توابع مربوطه قابل مشاهده هست
همچنین مخفی کردن رو سمت اندروید استفاده کردیم و تا حد امکان تونستیم روش رمز گذاری و رمز گشایی را پنهان کنیم حالا سمت انگولار با توجه به کلاینت بودن و قابل مشاهده بودن جی اس ها
پیشنهاد شما برای مخفی سازی،رمز گذاری و رمز گشایی چیه؟
هدف من اینه که کسی نتونه از وب سرویس های من استفاده کنه و مشابه ادرس کد شده مثل
localhost://api/xxxxxx
رو تولید کنه
با تشکر
After login if try to open another page in next tab it is asking me to login again. Is this an expected behavior?
I want use it with Angular Server Rendering (universal).
How I can do this ?
How to encryption response from web api to client.
because my response body and request content are visible in network browser.
And other can visible and use it.
متد هایی که به صورت post هستند و دارای ValidateAntiForgeryToken هستند همه خطای badrequest دارد
مثل ChangePasswordController
با سلام و خسته نباشید
برای تغییر "تنظیمات پیشفرض برنامهی اصلی" امکان استفاده ازین متد نبوده چون مقدار builder نال بودش
protected override IWebHostBuilder CreateWebHostBuilder()
{
var builder = base.CreateWebHostBuilder();
builder.ConfigureLogging(logging =>
{
//TODO: ...
});
return builder;
}
توی این کامنت راه حلی که داده برام کار کرده، خواستم با شما هم به اشتراک بذارم
dotnet/aspnetcore#37680 (comment)
internal class CustomWebApplicationFactory<TProgram> : WebApplicationFactory<TProgram> where TProgram : class
{
protected override IHost CreateHost(IHostBuilder builder)
{
builder.ConfigureHostConfiguration(config =>
{
string newConnectionString = "Data Source=DESKTOP-STDR2US;Initial Catalog=MyDb-Test;Integrated Security=true;Encrypt=False;";
config.AddInMemoryCollection(new Dictionary<string, string> { { "ConnectionStrings:SqlServer:ApplicationDbContextConnection", newConnectionString } });
//config.AddJsonFile("integrationsettings.json").Build();
});
return base.CreateHost(builder);
}
protected override void ConfigureWebHost(IWebHostBuilder builder)
{
builder.ConfigureTestServices(services =>
{
// Don't run `IHostedService`s when running as a test
services.RemoveAll(typeof(IHostedService));
services.AddTransient<IStartupFilter, FakeRemoteIpAddressFilter>();
});
}
}
Please can you add support for login using the same user in multiple clients. For example
When I login in the browser 1, I get a valid access_token and refresh_token
Login in the browser 2, I get a valid access_token and refresh_token, but the browser 1 access_token and refresh_token become invalid
من برای ارسال درخواست از کلاینت ویندوزی به سرور
services.AddAntiforgery(x => x.HeaderName = "X-XSRF-TOKEN");
و
app.UseAngularAntiforgeryToken();
و
{
options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
});
را غیر فعال کردم و کد زیر درست کار کرد ولی اگر بخواییم به شکلی که برنامه انگولار موجود در خود سورس درخواست ارسال میکنه این کار رو انجام بدیم به چه صورته ؟
ممنون میشم راهنمایی کنید .
var httpWebRequest = (HttpWebRequest)WebRequest.Create("http://localhost:5000/api/account/login");
httpWebRequest.ContentType = "application/json";
httpWebRequest.Method = "POST";
using (var streamWriter = new StreamWriter(httpWebRequest.GetRequestStream()))
{
Dictionary<string, string> dic = new Dictionary<string, string>() {
{"username","Vahid"},
{"password","1234"}};
var json = JsonConvert.SerializeObject(dic);
streamWriter.Write(json);
streamWriter.Flush();
streamWriter.Close();
}
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
using (var streamReader = new StreamReader(httpResponse.GetResponseStream()))
{
var result = streamReader.ReadToEnd();
}
Request URL:http://localhost:5000/api/MyProtectedApi
Request Method:GET
Status Code:401 Unauthorized
Remote Address:[::1]:5000
Referrer Policy:no-referrer-when-downgrade
Response Headers
view source
Content-Type:text/plain
Date:Fri, 02 Feb 2018 21:53:39 GMT
Server:Kestrel
Transfer-Encoding:chunked
WWW-Authenticate:Bearer error="invalid_token"
Request Headers
view source
Accept:/
Accept-Encoding:gzip, deflate, br
Accept-Language:en-US,en;q=0.9
Authorization:Bearer undefined
Connection:keep-alive
Host:localhost:5000
Referer:http://localhost:5000/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36
X-Requested-With:XMLHttpRequest
How can i add authorize login with Google and Facebook with json web token in asp.net core and angular ?
I finded all repositories in github, but all these repositories used ASP.NET Core Identity.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.