Making people work together! Folie 1 NEXPLORE AG Stefan von Niederhäusern Einfache Anwendung der SuisseID durch das Software Development KIT 09.09.2010.

Slides:



Advertisements
Ähnliche Präsentationen
Vernetzung von Repositorien : DRIVER Guidelines Dr Dale Peters, SUB Goettingen 4. Helmholtz Open Access Workshop Potsdam, 17 Juni 2008.
Advertisements

Finding the Pattern You Need: The Design Pattern Intent Ontology
SUCONET-K-Slave Integration of SUCONET-K Slave in XSystem
DNS-Resolver-Mechanismus
Einführung in die Informatik: Programmierung und Software-Entwicklung
Kurt Rosenberg. C# für.NET oder.NET für C# is(C# == C++ && Java)? true : false ; reines C# Ausblick Überblick.
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
Entwicklung und Einsatz von Smart Client-Anwendungen Jens Häupel Developer Evangelist Microsoft Deutschland GmbH Dirk Primbs.
Standortfaktoren INTERN - Ausdrucksstark präsentieren.
Regional Support in the context of LCG/EGEE
Wozu die Autokorrelationsfunktion?
Institut für Verkehrsführung und Fahrzeugsteuerung > Technologien aus Luft- und Raumfahrt für Straße und Schiene Automatic Maneuver Recognition in the.
Kapitel 19 Astronomie Autor: Bennett et al. Unsere Galaxis, die Milchstraße Kapitel 19 Unsere Galaxis, die Milchstraße © Pearson Studium 2010 Folie: 1.
Ralf KüstersDagstuhl 2008/11/30 2 Ralf KüstersDagstuhl 2008/11/30 3.
01 Installation / Support. © beas group 2011 / Page 2 This documentation and training is provided to you by beas group AG. The documents are neither approved.
M A X - P L A N C K - G E S E L L S C H A F T Bericht des Partnerinstituts Sabine Krott 1.0 Pilotentreffen im Harnack-Haus, 8. Juni 2006 Distribution:
PRJ 2007/1 Stefan Dissmann Verkettete datenstruktur: Liste Problem: Liste, die eine beliebige Zahl von Elementen verwaltet Operationen: Erzeugen, Anfügen,
Bild 1.1 Copyright © Alfred Mertins | Signaltheorie, 2. Auflage Vieweg+Teubner PLUS Zusatzmaterialien Vieweg+Teubner Verlag | Wiesbaden.
Microsoft Office Forms Server
Laurie Clarcq The purpose of language, used in communication, is to create a picture in the mind and/or the heart of another.
Entwickeln einer Windows 8 Modern UI Businessapplikation auf der Basis von Dynamics CRM/xRM Christian Haller Marc Sallin isolutions AG isolutions.
Relative clauses What is a relative clause?
Stellen Sie sich vor: .....kurz vor der Einführung, ein neues Produktes / eine neue Software.....
Institut AIFB, Universität Karlsruhe (TH) Forschungsuniversität gegründet 1825 Towards Automatic Composition of Processes based on Semantic.
| DC-IAP/SVC3 | © Bosch Rexroth Pneumatics GmbH This document, as well as the data, specifications and other information set forth in.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
...ich seh´es kommen !.
© All rights reserved. Zend Technologies, Inc. Jan Burkl System Engineer, Zend Technologies Zend Server im Cluster.
Christoph Durt: Wittgenstein on the possibility of philosophy: The importance of an intercultural approach
The free XML Editor for Windows COOKTOP Semistrukturierte Daten 1 Vortrag Semistrukturierte Daten 1 COOKTOP The free XML-Editor for Windows
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
| Basel Developing apps for SharePoint 2013 using Visual Studio 2013 René Modery, Office 365 MVP, 1stQuad Solutions.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
You need to use your mouse to see this presentation © Heidi Behrens.
Auslegung eines Vorschubantriebes
INTAKT- Interkulturelle Berufsfelderkundungen als ausbildungsbezogene Lerneinheiten in berufsqualifizierenden Auslandspraktika DE/10/LLP-LdV/TOI/
States in the development of a new service During the development a service will pass through a chain of stages determining the service.
XML IV: Cocoon 2.
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Projekt Systemintegration Datler, Kroiß, Sachs Systemintegration ILV, FL / MIC- 2 (SS2014)
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Digital Dashboard Toolkit 2001 SharePoint Portal Server released targeting portal market SharePoint Team Services (STS) released as free add-
Design Patterns Ein Muster (pattern) ist eine Idee, die sich in einem praktischen Kontext als nützlich erwiesen hat und dies auch in anderen sein wird.
By: Jade Bowerman. German numbers are quite a bit like our own. You start with one through ten and then you add 20, 30, 40 or 50 to them. For time you.
Analyseprodukte numerischer Modelle
2014 Januar 2014 So Mo Di Mi Do Fr Sa So
International Time For many common situations (timetables, TV guides, store hours), Germans use 24-hour ("military") time. Add 12 to a pm time to get the.
Wind Energy in Germany 2004 Ralf Christmann, BMU Joachim Kutscher, PTJ
Thomas Claudius Huber Senior Consultant Trivadis AG WCF RIA Services Datengetriebene Apps.
Basel, September 2, 2008 Work Stream Template: ODM.
Ex_1: Cannabis induziert Schizophrenie? Fakten: 1. Cannabis Konsum korreliert mit doppeltem Risiko im späteren Leben mit Schikzophrenie diagnostiziert.
KIT – die Kooperation von Forschungszentrum Karlsruhe GmbH und Universität Karlsruhe (TH) Vorlesung Knowledge Discovery - Institut AIFB Tempus fugit Towards.
RateMe Slides. Ablauf Präsentation des Konzepts (5-10 min) Demonstration der laufenden Software (5-10 min) Fazit der gesammelten Erkenntnisse.
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Technische Universität München 1 CADUI' June FUNDP Namur G B I The FUSE-System: an Integrated User Interface Design Environment Frank Lonczewski.
Der Erotik Kalender 2005.
Familie Beutner, Konrad-Voelckerstrasse, Edenkoben/Pfalz, Tel:
1 For internal use only © WEINMANN GERÄTE FÜR MEDIZIN GMBH+CO.KG prismaLINE - prismaAQUA DIE-FGI_ 28 Jan
Workshop 1 Getting Started 2016 Boris Wylutzki
- moodle – a internet based learning platform
 Präsentation transkript:

Making people work together! Folie 1 NEXPLORE AG Stefan von Niederhäusern Einfache Anwendung der SuisseID durch das Software Development KIT

Making people work together! Folie 2 Inhalt Was ist das SuisseID SDK /.NET Funktionalität Unterstützte Anwendungsfälle Demos

Making people work together! Folie 3 Was ist das SuisseID SDK/.NET? Ein Software Development Kit (SDK) ist eine Sammlung von Werkzeugen und Anwendungen, um eine Software zu erstellen. Toolkit … (englisch für Werkzeugsatz) ist ein Begriff aus der elektronischen Datenverarbeitung. Er bezeichnet allgemein eine Sammlung von Bibliotheken, Klassen und Schnittstellen, die das Erstellen von Computerprogrammen vereinfachen sollen. Ziel eines Toolkits ist es, einem Programmierer das Entwickeln von Anwendungen zu erleichtern, indem Standardfunktionen zur Verfügung gestellt werden

Making people work together! Folie 4 Was ist das SuisseID SDK/.NET? SuisseID SDK /.NET: Einfach einsetzbare Klassenbibliothek für die Integration von Webapplikationen (ASP.NET) mit der SuisseID Kern-Infrastruktur

Making people work together! Folie Positionierung des SuisseID SDK/.NET Wir befinden uns hier!

Making people work together! Folie 6 Funktionalität Abwicklung der Kommunikation zwischen SuisseID- enabled Applikation und IdP Erstellen von SAML 2.0 Requests Signieren von Requests Verarbeiten von Antworten des IdP Überprüfung der Signatur der Antworten Zugriff auf SuisseID Zertifikat

Making people work together! Folie

Making people work together! Folie

Making people work together! Folie UC1: Zertifikatsbasierte Authentifizierung

Making people work together! Folie UC2: Abfrage von Attributen beim IdP

Making people work together! Folie UC 3: Authentifizierung und Attributabfrage

Making people work together! Folie 12 Links Wiki Download SDKs + Demoapps Whitepaper

Making people work together! Folie 13 Fragen

Making people work together! Folie 14 Backup

Making people work together! Folie 15 What is the SuisseID SDK/.NET? Supported Use Cases API of the SuisseID SDK/.NET Code-Examples Extensions

Making people work together! Folie 16 API Goals Easy to use No SAML for the user Prepared for IoC / Dependency Injection Expandability possible Good testability through IoC-Concept Exception based

Making people work together! Folie API (Certificate)

Making people work together! Folie API (IdP Communication)

Making people work together! Folie API (Helpers)

Making people work together! Folie 20 What is the SuisseID SDK/.NET? Supported Use Cases API of the SuisseID SDK/.NET Code-Examples Extensions

Making people work together! Folie 21 Example Code 1: Build an AuthnRequest (1) var request = SuisseIdSdkObjectFactory.GetAuthenticationRequest(); // add claims needed request.Claims.Add( new ClaimDescriptor { Name = CoreClaimTypes.GivenName, IsRequired = true }); request.Claims.Add(new ClaimDescriptor { Name = CoreClaimTypes.Surname, IsRequired=true }); request.Claims.Add(new ClaimDescriptor { Name = CoreClaimTypes.DateOfBirth, IsRequired = true });

Making people work together! Folie 22 Example Code 1: Build an AuthnRequest (2) // set the endpoint URI from the IdP selector request.Destination = new Uri(" request.PrivacyNoticeAddress = new Uri(" // set return url request.AssertionConsumerServiceUrl = new Uri("

Making people work together! Folie 23 Example Code 2: Sending the request to the IdP // send the request with the request sender var requestSender = SuisseIdSdkObjectFactory.GetRequestSender(); requestSender.UserLanguage = Thread.CurrentThread.CurrentUICulture; requestSender.SendRequest( request, new HttpContextWrapper(HttpContext.Current) );

Making people work together! Folie 24 Example Code 3: Handling the response from the IdP (1) // get the response var responseHandler = SuisseIdSdkObjectFactory.GetResponseHandler(); // handle response var response = responseHandler.HandleResponse( this.ControllerContext.HttpContext); // get the requested claims var claim = response.AllClaims[CoreClaimTypes.IsOver18].Value; // MISSING: some checks and exception handling

Making people work together! Folie 25 What is the SuisseID SDK/.NET? Supported Use Cases API of the SuisseID SDK/.NET Code-Examples Extensions

Making people work together! Folie 26 SuisseID SDK Extensions Once authenticated, a user remains authenticated within the application until he explicitly logs out. The set of claims is persisted until the user explicitly logs out. Developers can use the familiar Principal and Identity objects. Codesamples and further explanation available in the Microsoft Whitepaper (

Making people work together! Folie 27 SuisseID SDK Extensions

Making people work together! Folie 28 Example Code 3: Handling the response from the IdP (1) // get the response var responseHandler = SuisseIdSdkObjectFactory.GetResponseHandler(); try { // handle response var response = responseHandler.HandleResponse( this.ControllerContext.HttpContext); // get the requested claims var claim = response.AllClaims[CoreClaimTypes.IsOver18];

Making people work together! Folie 29 Example Code 3: Handling the response from the IdP (2) // use claim data if (claim != null) { var value = (bool)claim.Value; } catch (StatusAbortedByUserException ex) { return this.View("ErrorUserAborted"); }