Implementing Web API Identity - asp.net-web-api

I am trying to find an up to date, clear and simple explanation of an implementation of ASP.NET Identity. The problem is that most tutorials get bogged down with Entity Framework discussions or branching off into territory which, while useful, is best for those who probably know "Identity" already.
TL:DR; I would like a link to a good description of how to implement ASP.NET Identity.

Related

Canonical MVC Model for Java Web?

I am attending a training course where they presented the following model, with a claim that all modern Java web frameworks more or less implement it. I think it is too sweeping of a statement but I want to get it verified. Here is the model:

how to implement Complex Web API queries in ASP Core

I'm new to web API design, so I've tried to learn best practices of web API design using these articles:
1.Microsoft REST API Guidelines
2.Web API Design-Crafting Interfaces that Developers Love from "Apigee"
Apigee is recommending web API developers to use these recommendations to have better APIs.
I quote here two of the recommendations:
I need C# code for implementing these recommendations in my Web APIs (in ASP Core) which is a back-end for native mobile apps and AngularJs web site.
Sweep complexity behind the ‘?’
Most APIs have intricacies beyond the base level of a resource. Complexities can include many states that can be updated, changed, queried, as well as the attributes associated with
a resource.
Make it simple for developers to use the base URL by putting optional states and attributes behind the HTTP question mark. To get all red dogs running in the park:
GET /dogs?color=red&state=running&location=park
Partial response allows you to give developers just the information they need.
Take for example a request for a tweet on the Twitter API. You'll get much more than a typical twitter app often needs - including the name of person, the text of the tweet, a timestamp, how often the message was re-tweeted, and a lot of metadata.
Let's look at how several leading APIs handle giving developers just what they need in
responses, including Google who pioneered the idea of partial response.
LinkedIn
/people:(id,first-name,last-name,industry)
This request on a person returns the ID, first name, last name, and the industry.
LinkedIn does partial selection using this terse :(...) syntax which isn't self-evident.
Plus it's difficult for a developer to reverse engineer the meaning using a search engine.
Facebook
/joe.smith/friends?fields=id,name,picture
Google
?fields=title,media:group(media:thumbnail)
Google and Facebook have a similar approach, which works well.
They each have an optional parameter called fields after which you put the names of fieldsyou want to be returned.
As you see in this example, you can also put sub-objects in responses to pull in other information from additional resources.
Add optional fields in a comma-delimited list
The Google approach works extremely well.
Here's how to get just the information we need from our dogs API using this approach:
/dogs?fields=name,color,location
Now I need C# code that handles these kind of queries or even more complex like this:
api/books/?publisher=Jat&Writer=tom&location=LA?fields=title,ISBN?$orderBy=location desc,writerlimit=25&offset=50
So web API users will be able to send any kind of requests they want with different complexities, fields, ordering,... based on their needs.

purpose of adding events layer in DDD

I was going through with https://github.com/spring-guides/deprecate-tut-web tutorial on Spring. I am new to Spring . I have seen a few small Spring Web MVC tutorials before . Most other tutorials i have seen uses a service layer which is invoked from the web controller. But never have i seen the use of "events" layer as used in this tutorial. Is the layer really necessary, and if so what benefit does it give me ? I am also new to both DDD (Domain Driven Development) and TDD (Test Driven Development), some things just seem really redundant and over-complicated to me in this tutorial .. Can someone explain what is the purpose of this events layer and why should we use it ? Thank you in advance and sorry if it's a Noob question. :)
The purpose of domain events are notify any interested party that something has occurred in one of your domain objects. For example, if you hear a business expert say something such as "when an invoice is approved, release payment", then you probably want a domain event called InvoiceApproved. This way the payment related code can subscribe to that in the application layer and not be tightly coupled to the invoice logic and orchestration. Domain events are a very necessary and very powerful aspect of DDD.

Rails4. Contacts importer from famous providers (Gmail, Facebook...)

Problem
Need to implement contacts importer/chooser on Rails4 project. Needed providers - Gmail, Facebook, Yahoo, LinkedIn, Outlook.
Researches
Tried omnicontacts and contacts gems but both has some limitations and maybe outdated for some providers.
There is commercial project which do this for you - CloudSponge , but I prefer open source.
Current Status
Implemented Linkedin contacts import using devise, omniauth, omniauth-linkedin.
Implemented Gmail contacts import using omnicontatcs.
Failed with other providers.
Queastion
Is there any other all-in-one solutions (maybe I missed something) which could be useful for my issue or I have to implement all things from scratch, maybe using already outdated gems/libs ?
Another thing I was thinking, maybe this task better to solve on client side using javascript libraries?
If you to try implement contacts importer in a do-it-youself way, the first goal will be proper learn OAuth2 and all the 4 authentication flows. I like this blog post explanation.
Then if you want to use a client-side-only solution for OAuth2, you'll need to use the Implicit flow.
For Google Contacts, you can find Implicit flow documentation here.
Disclaimer: I work for CloudSponge, and I'm a big fan of free/open-source solutions too. I even use Linux as my desktop :)

What are the good practices and useful design pattern to provide an API which supports internationalization?

Given an existing API working well with the usual mono-locale approach, what are the steps one should follow to turn it into an internationalized version, which enable user to send/receive keys/values in localized versions?
End user interface internationalization is a well covered topic.internationalized. But how can it be pushed further on request and response? If someone hits an API and wants the response in German how can I do so ?
It is kind of tricky answering without any kind of context, or sample API, or a even a high-level description of what your API does.
But in general it is best to separate your APIs into several layers.
The core functionality and data at the application level should be locale independent, something like this http://mihai-nita.net/2005/10/25/data-internationalization/
Then you would have the presentation layers, with things like date/time/number formatters, collation, localization, etc.

Resources