Zum Inhalt springen.
Sympa Menü

ag-meinungsfindungstool - Re: [Ag Meinungsfindungstool] Basic Authentication

ag-meinungsfindungstool AT lists.piratenpartei.de

Betreff: Ag-meinungsfindungstool mailing list

Listenarchiv

Re: [Ag Meinungsfindungstool] Basic Authentication


Chronologisch Thread 
  • From: "marc" <marc AT merkstduwas.de>
  • To: <ag-meinungsfindungstool AT lists.piratenpartei.de>
  • Subject: Re: [Ag Meinungsfindungstool] Basic Authentication
  • Date: Thu, 14 Aug 2014 09:27:40 +0200
  • Importance: Normal
  • List-archive: <https://service.piratenpartei.de/pipermail/ag-meinungsfindungstool>
  • List-id: <ag-meinungsfindungstool.lists.piratenpartei.de>
  • Organization: merkst Du was?

Hi Paul,

nein - das ist jetzt noch nicht wichtig, da pflichte ich Dir voll bei.

BasicAuthentication ist für die PoC Implementierungen völlig ausreichend. Allerdings würde ich auch gerne ein Cookie für die Web API setzen, aber das funzt momentan irgendwie nicht. Obwohl die API das Cookie sendet, wird es vom Browser nicht gesetzt. Hast Du eine Idee woran das liegen könnte? Wie machst Du das momentan im qK?

Ich habe folgenden "AuthenticationController" mit der Action "Login" erzeugt, um einen konkreten Endpunkt für die Validierung der Credentials zu haben:

[BasicAuthentication]
public class AuthenticationController : ApiController
{
[HttpPost]
public void Login([FromBody]string value)
{
// HINT: Authentication is handled within the BasicAuthenticationAttribute.
}

[HttpPost]
public void Logout([FromBody]string value)
{
throw new NotImplementedException();
}
}

In d!scoArguments rufe ich die Login Action wie folgt auf:

jQuery.ajax({
type: 'POST',
url: 'http://localhost:50256/api/Authentication/Login',
dataType: 'json',
async: false,
data: {},
headers: { 'Authorization': this.makeBaseAuth(account.alias(), account.password()) },
})
.then((data: any) => {
this.discoContext.authData.user = data.alias();
this.discoContext.authData.password = data.password();
return _app.closeDialog(this);
})

REQUEST:

POST http://localhost:50256/api/Authentication/Login HTTP/1.1
Authorization: Basic TWVya2JlZnJlaXRlcjpiYmI=
Accept: application/json, text/javascript, */*; q=0.01
Referer: http://localhost:22522/discoarguments/#discussion/5ea1612b-88f1-4859-b2fd-1a00c0a65b34
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Host: localhost:50256
Content-Length: 0
Connection: Keep-Alive
Pragma: no-cache

RESPONSE:

HTTP/1.1 204 No Content
Cache-Control: no-cache
Pragma: no-cache
Expires: -1
Server: Microsoft-IIS/8.0
Set-Cookie: auth=TWVya2JlZnJlaXRlcjpiYmI%3d; expires=Thu, 14 Aug 2014 23:04:55 GMT; domain=localhost:50256; path=/api/odata/
Date: Wed, 13 Aug 2014 23:04:55 GMT

Aber das Cookie wird vom Browser beim nächsten Request nicht mitgesendet:

GET http://localhost:50256/api/odata/Posts?$expand=Content,RefersTo,Ratings,ReferredFrom,ModifiedBy/Author,Tags/Description&$filter=(Id%20eq%2036L%20or%20Id%20eq%2037L) HTTP/1.1
Accept: application/atomsvc+xml;q=0.8, application/json;odata=fullmetadata;q=0.7, application/json;q=0.5, */*;q=0.1
MaxDataServiceVersion: 3.0
DataServiceVersion: 3.0
Authorization: Basic TWVya2JlZnJlaXRlcjpiYmI=
Referer: http://localhost:22522/discoarguments/#
Accept-Language: en-US
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
Connection: Keep-Alive
Host: localhost:50256

Any ideas?

Cheers
Marc


-----Original Message----- From: pa.rei AT gmx.de
Sent: Thursday, August 14, 2014 12:52 AM
To: ag-meinungsfindungstool AT lists.piratenpartei.de
Subject: Re: [Ag Meinungsfindungstool] Basic Authentication

Hi Marc,

naja, ich weiß nicht ob wir so eine Authentifizierung scnon jetzt im PoC brauchen.
Als ich mich um die Authentifizierung gekümmert habe, hab ich auch Identity versucht. Ich denke aber, dass das für unsere aktuellen Verhältnisse viel zu komplex ist - für mich hat das Ei richten nicht geklappt. Wenn unser Konzept klappt, dann können wir die Authentifizierung sicher noch ausbauen! Bis dahin würde ich für KISS (Keep It Simlple, Stupid) plädieren.

Gibt es zum aktuellen Zeitpunkt eine Notwe digkeit, die Usersache anders zu machen als bisher?

Grüße, Paul

-----Ursprüngliche Nachricht-----
Gesendet: Mittwoch, 13 August 2014 um 14:32:54 Uhr
Von: marc <marc AT merkstduwas.de>
An: "Piraten AG Meinungsfindungstool" <ag-meinungsfindungstool AT lists.piratenpartei.de>
Betreff: Re: Basic Authentication
Hi Paul,

naja, das wir in d!sco die User authentifizieren müssen ist klar, bevor die
Daten erstellen oder ändern können! Aber meine Frage ist mehr, ob wir in der
Ontologie ein Feld für den Passwort-Hash haben sollten?

Vielleicht könnten wir auch mit ASP.NET Identity einen eigenen "d!sco OAuth
Service" implementieren
(http://www.asp.net/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server),
den wir dann z.B. unter disco-network.org/oauth2/ betreiben? Mit OAuth2 kann
man meines Wissens sowohl Authentifizierung, als auch Autorisierung
durchführen.

Was meinst Du (Ihr)?

Cheers
Marc

P.S.: @Paul - hab das mal wieder zurück auf die Liste geschickt.

-----Original Message----- From: pa.rei AT gmx.de
Sent: Wednesday, August 13, 2014 1:44 PM
To: marc
Subject: Re: Basic Authentication

Hi Marc,

kannst gerne rumschrauben, da mach ich gerade nichts.

Disco darf auf jeden Fall später nur Posts im Namen von Leuten speichern,
die auch wirklich diese Leute sind. Das heißt, eine Art
Berechtigung/Authentifizierung brauchen wir schon. Ob die nun mit OpenId
etc. zusammenhängt - das wäre dann nur die Umsetzung. Wobei die
ausschließliche Nutzung solcher Dienste wieder Zentralisierung wäre - wir
sollten auch eine d!sco-Lösung haben (dezentral).

Viele Grüße,
Paul

Gesendet: Mittwoch, 13. August 2014 um 13:23 Uhr
Von: marc <marc AT merkstduwas.de>
An: bloxx <pa.rei AT gmx.de>
Cc: "Piraten AG Meinungsfindungstool"
<ag-meinungsfindungstool AT lists.piratenpartei.de>
Betreff: Basic Authentication

Hi Paul,

ich baue gerade Basic Authentication in d!scoArguments ein und habe ein
paar
Änderungen an der Web API BasicAuthenticationAttribute und an dem
disco.ts/js vorgenommen aber noch nicht eingecheckt.

Schraubst Du auch gerade noch in der Ecke rum?

Wenn ich das eingecheckt habe, dann sollten wir mal dringend darüber
sprechen und vielleicht kannst Du dass dann bei qK entsprechend anpassen?
Sind nur kleine Änderungen, keine Angst ;o)

Aber wir müssen uns auch darauf verständigen, was ein User in d!sco
überhaupt sein soll. Ich bin fast der Meinung, dass so etwas wie User
Authentication NICHT in d!sco gehört und User Authorization wahrscheinlich
auch nicht, sodass wir das mit OpenID und OAuth2 abfackeln sollten, da das
meines Wissens die aktuellen de-facto-Standards sind.

Was meinst Du?

Cheers
Marc



--
Ag-meinungsfindungstool mailing list
Ag-meinungsfindungstool AT lists.piratenpartei.de
https://service.piratenpartei.de/listinfo/ag-meinungsfindungstool




Archiv bereitgestellt durch MHonArc 2.6.19.

Seitenanfang