Laden...
Avatar #jVxXe7MDBPAimxdX3em3.jpg
Peter Bucher myCSharp.de - Experte
Software Entwickler Zentralschweiz Dabei seit 17.03.2005 5.941 Beiträge
Benutzerbeschreibung
Mein Name ist Peter Bucher, seit langer Zeit beschäftige ich mich schon mit Webtechnologien. Angefangen habe ich mit Html und Classic ASP. Jetzt arbeite ich vorallem mit .NET-Technologien.

Forenbeiträge von Peter Bucher Ingesamt 5.941 Beiträge

21.01.2024 - 17:29 Uhr

Hi Jungs

Mir sind zwei Dinge bei myCSharp.de aufgefallen:

  1. 2 Faktor Authorisierung konnte ich mit dem Microsoft Authenticator (QR gescannt) 4, 5 Versuche nach Eingabe des Codes nicht einrichten, es kam nur "ooops ein Fehler ist aufgetreten". Liegt das an mir oder ist das bekannt?
  2. Wenn man eine private Nachricht schreiben möchte - im Darkmode! - ist die Schrift weiss auf weissem Hintergrund, man sieht das geschriebene also leider nicht.

Grüsse Peter

10.12.2021 - 21:05 Uhr

Hi

Danke für deinen Hinweis Abt. Ich habe dieses Link vom Deployment total übersehen.

Nach dem Beenden der App und löschen des GIT-Lockfiles im Deploymentordner auf Azure, klappte es. Nach 2, 3 Versuchen.
Hoffe das läuft jetzt. Jemand eine Ahnung wie es dazu kommen kann?

Gruss Peter

10.12.2021 - 18:37 Uhr

Hi Abt

Dieser Fehler kommt: git-index-lock-file-exists-when-i-try-to-commit-but-cannot-delete-the-file
Ich habe die Lock Datei gelöscht, aber der Fehler tritt wieder auf. Und ab und zu wird Timeout auf der Azure GUI angezeigt bei Logs laden.
Habe auch schon Anwendung beendet und neu gestartet. Half alles nichts. Auch KUDO hängt dann einfach fest. Hast du eine Idee?

Gruss Peter

09.12.2021 - 16:38 Uhr

Hallo

Wenn ich im Azure Portal ein Deployment von einem GIT Branch laufen lasse und dort ab jetzt nur noch "Fehler" | "Fetch from git@bitbucket.........
wo kann ich sehen, was das für ein Fehler ist? Dies trat gestern das erste Mal auf und heute genau dasselbe.

Habe mich auch nochmals bei bitbucket aus- und eingeloggt. Nützte nichts. Lokal läuft der Build in einen Ordner.

Gruss Peter

18.03.2021 - 10:45 Uhr

Hallo

Folgende URLs habe ich konfiguriert; ich frage mich, ob wirklich alle nötig sind. Und wenn nicht, warum nicht?


x.azurewebsites.net/.auth/login/aad/callback
x.azurewebsites.net/signin-oidc
x.azurewebsites.net/signout-oidc

Ich habe gehört es sei nur "x.azurewebsites.net/signin-oidc" nötig?

Danke und Gruss,
Peter

12.03.2021 - 01:41 Uhr

Danke für die Info Abt, das wusste ich alles nicht.

Wie ist das Linux Hosting von ASP.NET Core auf einem eigenen Server / Azure im Vergleich zum Hosting mit dem IIS?
Nehme an, da ist halt weniger managed, als wenn man eine AppService nimmt?
Performance? Kaltstart? Möglichkeit aufzuwärmen? Untertützung SQL Server auf Linux? Alternativen?

Will da möglichst alles rausholen.

Danke und Grüsse, Peter

12.03.2021 - 00:55 Uhr

Also, Auflösung:
Wenn die ASP.NET Core 5.0 SDK installiert wird, mit den Konsolen-Tools, dann funktioniert dotnet watch run für ASP.NET Core 3.1 Projekte nicht mehr. Es lässt sich nicht mehr einschränken und greift für alle Dateien, wenn es manuell aus der Konsole ohne Debug gestartet wird. Mit F5 (watch Setting) geht es. Aber das geht immer in Debug.

Mit ASP.NET Core 5.0 Projekten lässt es sich wieder konfigurieren und funktioniert, wie es soll.

Lösung für ASP.NET Core 3.1 Projekte, wenn das ASP.NET Core 5.0 SDK installiert wurde.

  1. Eine global.json im Hauptordner anlegen.

{
  "sdk": {
    "version": "3.1"
  }
}

So wird beim Aufrufen der Konsole immer die .NET Core 3.1 SDK und Tools genutzt und alles läuft wie es soll. Exclude und Include für dotnet watch werden beachtet und die Default Settings für dotnet watch greifen auch.

Ich hoffe das hilft jemandem 🙂

Grüsse Peter

10.03.2021 - 15:20 Uhr

Hallo zusammen

Jetzt scheint es wieder zu laufen. Keine Ahnung was da das Problem war.

Gruss Peter

10.03.2021 - 15:20 Uhr

Hi Abt

Bin jetzt von B1 auf S1 bei Azure. Kostet jetzt irgendwas um 75CHF anstelle von 51 oder so.
Da seien auch Slots dabei. Ich probiere das mal. Von der Leistung her ist das sowieso besser.

Danke und Grüsse

10.03.2021 - 12:14 Uhr

Hi Abt

Top Antwort! Danke vielmals 🙂
Ja, habe Jobs bei AppStart gestartet und nach einigen Deployments waren es einfach zuviele laufende Jobs.

Jetzt läufts und ich schaue, dass ich Application Insight noch einrichten kann. Danke für die Info!

Vielleicht noch:
Deployment von ASP.NET Core auf Azure; wie am besten?
Ich habe natürlich GIT... und nutze im Moment WebDeploy, aber muss die App jedesmal manuell stoppen und starten,
damit es überhaupt geht.

Kannst du die Deployment Slot-Geschichte empfehlen? Ist es nicht so, dass das viel mehr kostet?

Grüsse Peter

10.03.2021 - 10:52 Uhr

Hallo zusammen

Ich habe eine ASP.NET Core 5.0 App mit Azure AD Auth und Hangfire auf Azure deployed. Wie schon im Titel beschrieben, läuft die App lokal super und lädt die Startseite in ca. 50ms. Auf Azure 5, bis zu 8 Sekunden. Bei jedem Request.

Wie kann ich hier dem Problem auf die Spur kommen?
Application Insight ist leider auf Azure noch nicht verfügbar für ASP.NET Core 5.0.

Grüsse Peter

08.03.2021 - 10:46 Uhr

Hallo zusammen

Habt ihr auch Probleme mit dotnet watch seit .NET Core 5.0? (Vorher war ich auf 3.1).

Mit dotnet watch run über die Konsole gestartet, wird KEINE Änderung mehr aufgenommen. Auch nicht die eingeschlossenen.
Wenn ich es über VS starte, werden ALLE Änderungen getriggert. Auch die ausgeschlossenen.

Verhalten hat sich geändert nach Installation der .NET Core 5.0 SDK.

Grüsse Peter

22.02.2021 - 10:52 Uhr

Hi Abt

Ja, dann ist ja alles gut und die Standard Implementation ist OK. War ein Missverständnis meinerseits.
Danke für deine Hilfe!

Grüsse Peter

22.02.2021 - 09:43 Uhr

Offensichtlich benötigen ALLE flows TokenID. So ein Witz, ich war total auf dem falschen Pferd. Dann ist ja alles gut?!

22.02.2021 - 09:09 Uhr

Hi Jungs

Links in Signaturen sollten in einem neuen Fenster / Tab aufgehen.
Müssen Poweruser wirklich so lange warten, bis sie den nächsten Beitrag schreiben dürfen? 🙂

Kommt super gut, das Forum!

22.02.2021 - 09:07 Uhr

Hehe Abt, das steht bei mir genau so drin im Code. Neustes Template. Denke du hast das nicht ohne Token getestet, oder wie lief dein Test?
Nimm mal bei Azure die ID Token raus, die es für implizit benötitgt, dann kommt ne Meldung...

Grüsse Peter

17.02.2021 - 15:38 Uhr

Hi Abt

Danke, ich schaue mir das an. Frage mich nur, wieso das MS nicht standarmässig ins Template einbaut.

Gruss Peter

17.02.2021 - 09:59 Uhr

Hallo zusammen

Jetzt habe ich - auch wegen der Azure AD Auth - angefangen von ASP.NET MVC auf ASP.NET Core 5.0 zu migrieren.
Denn unter ASP.NET MVC konnte ich keine Authentifizierung ohne impliziten Flow, hinkriegen.

Wie ich festellen musste, nutzt Microsoft in seinem eigenen Template auch den implicit Flow.

Was soll mir das jetzt genau sagen?
Abt hier aus dem Forum meinte, das sei unsicher. Wieso macht MS das und es nicht gleich richtig?

Grüsse Peter

09.02.2021 - 14:07 Uhr

Hi Abt

Alles klar, mache ich.

--

Also hier meine Lösung für ASP.NET Core 5.0, um dotnet watch auch für Bundles zu aktivieren.

BuildBundlerMinifier installieren:

Wenn dotnet watch genutzt wird, kann die Projektdatei wie folgt angepasst werden, damit dotnet watch neustartet,
dies tut der Bundler dann auch.
Dies ist auch bspw. für CSS oder für einzelne Dateien möglich.


<ItemGroup>
    <!-- extends watching group to include *.js files -->
    <Watch Include="**\*.js" Exclude="node_modules\**\*.js;$(DefaultExcludes)" />
</ItemGroup>

Viel Erfolg 🙂

Grüsse Peter

09.02.2021 - 13:13 Uhr

Hi Abt

Ich kann nicht mehr editieren. Ist die Einstellung doch nicht korrekt bei "Experten"?

Nachtrag: Wenn das Kommando "dotnet bundle" nicht gefunden wird, fehlt wohl noch was
=> dotnet-bundle-not-working-in-net-core-mvc-application

Gruss Peter

09.02.2021 - 09:51 Uhr

Hi Abt

Das rennt tatsätchlich wie es soll. Die Einstellung die ich gesucht habe, war wirklich die URLs von ENV und launchBrowser. Vielen Dank!


    "MeinProjektName": {
      "commandName": "Project",
      "dotnetRunMessages": "true",
      "launchBrowser": false,
      "applicationUrl": "https://localhost:5001",
      "environmentVariables": {
        "ASPNETCORE_ENVIRONMENT": "Development",
        "ASPNETCORE_URLS": "https://localhost:5001"
      }
    }

Und rufe


dotnet watch run --no-launch-profile

auf; es geht kein Fenster auf 🙂

edit: Die Code Hervorhebung ist cool hier im Forum!

Grüsse

08.02.2021 - 14:47 Uhr

Hi Abt

Folgendes sollte gehen: Bundling And Minifying In ASP.NET Core Applications
Precompile => dotnet bundle watch (Steht ein wenig weiter unten im Artikel.

Grüsse Peter

08.02.2021 - 13:20 Uhr

Hmm Abt, vor dem Build ist nach dem Build oder?
D.h. bevor der Build startet, bzw. eben auch wenn er neustartet, würde es Sinn machen.

Es gibt also ausser gulp keine Möglichkeit, direkt live zu entwickeln out-of-the-box in 5.0. Wow.
Ich müsste mich übel täuschen; dachte das ging eine zeitlang in 3.1 problemlos.

Wie machst du denn das? Jedesmal manuell anstossen offenbar, oder mit gulp?
JS, CSS....?

Grüsse Peter

08.02.2021 - 12:54 Uhr

Hi Abt

Ja, wenn ich dotnet watch in der Konsole per .bat aufrufe, kommt ein Fenster. Muss also an was anderem liegen. Aber gut weiss ich jetzt, wie ich die URLs konfigurieren kann. Danke dir.

Wegen den Bundles: Ist es also so, dass das was ich in PreBuild aufnehme, ausgeführt wird, wenn dotnet watch am
rennen und dann eben neustarten ist. Weil er ja dann einen Rebuild macht, korrekt?

Sollte ja auch mit den dotnet Standard bundle Tools gehen. Dieses Weboptimizer ist ja neu jetzt.

Grüsse Peter

08.02.2021 - 12:21 Uhr

Hi Abt

Vielen vielen Dank! Wenn das klappt, erleichtert das schon einiges.
Mit ASP.NET Core 3.1 mit den gleichen launch.settings ging kein Fenster auf, darum dachte ich, es hätte keinen Zusammenhang. Denke aber es liegt an den dotnet.... Standardeinstellungen die sich mit 5.0 geändert haben.

Ich gucke mir das an und hoffe das klappt auch, wenn ich es von der Konsole aus starte.

Wie ist das eigentlich mit dotnet bundle start, wenn ich das als zweiten punkt in einer .bat file drin habe (nach einem dotnet watch start Aufruf), wird das ja nicht ausgeführt, gibt es da eine Möglichkeit?
Sodass die Bundles auch automatisch "gewatched" werden?
Mit 3.1 hat das eine Zeit lang funktioniert, mit dem nuget-Package - aber jetzt auch nicht mehr zuverlässig.
Ich starte halt gerne eine .bat file, wo ich dann mit CTR+C wieder beenden oder neu starten kann, wenns mal hängt und den Status sehe.

Habe nicht gerne VS immer im Debugmodus, sondern hänge die Instanz an, wenn ich debuggen möchte.

Grüsse Peter

08.02.2021 - 09:40 Uhr

Hallo zusammen

Ist super geworden!
Könnte man den Button zum erstellen eines Themas sichtbarer machen, evtl. blau wie hier bei "Antwort erstellen"?
Ich habe den Button fast nicht gefunden 😕

Vielen Dank für euer Engangement!

Grüsse Peter

08.02.2021 - 09:26 Uhr

Hallo zusammen

Wenn ich ein neues ASP.NET 5 Projekt erstelle und dies per dotnet watch run starte, öffnet sich ein http :5000 und ein https:5001 Fenster. Ich möchte aber kein oder nur das https Fenster geöffnet haben.
Leider fand ich nicht wirklich passende Argumente und finde nicht, wo das konfiguriert werden kann.


watch : Started
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
      Now listening on: https://localhost:5001

Mit ASP.NET Core 3.1 war das Verhalten noch anders.

Grüsse Peter

10.11.2020 - 12:59 Uhr

Hallo witte

... das wird wohl eine binäre Datei sein. Vllt überträgst du ein Bild und hast den Mimetype nicht gesetzt.
Ähm - woher weisst du dass das eine Fehlermeldung sein soll?

Weil immer so ein Salat kommt, anstelle der Fehlermeldung. Und wenn ich debugge, sehe ich die Fehlermeldung oder im Razer im Designer. Und zwar egal auf welcher Url. Also muss die Ausgabe der Fehlerseite irgendwie durch eine Komponente kaputt gemacht worden sein.

Wo müsste man da ansetzen?

Grüsse

10.11.2020 - 09:57 Uhr

Hallo zusammen

Seite einiger Zeit bekomme ich statt aussagekräftigen Fehlermeldungen folgendes Bild im Browser, wenn ein Fehler vorhanden ist. Schwierig, die Fehler so zu finden.

Mit was könnte das zusammenhängen?

Grüsse Peter

24.09.2020 - 10:19 Uhr

Hallo zusammen

Implicit Flow funktioniert. Wie ist es denn da bezüglich Security?
Es sei nicht für serverseitige Anwendungen gedacht, etc.

Für Policies / Claims in ASP.NET MVC (.NET Framework) könnte das hier nützlich sein:

23.09.2020 - 13:53 Uhr

Hallo Abt

Ja... das ist mir wirklich klar. Nur habe ich keine Zeit, das komplett selber zu entwickeln und auf das läuft es hinaus, falls es da keine Beispiele gibt.
In ASP.NET Core ist alles gekapselt, ganz anders. Wie soll mir das was bringen?

Jemand eine Idee?

22.09.2020 - 15:45 Uhr

Hi Papst

Danke für deine Info.
Woher hast du die Vorlage genommen für ASP.NET Core für den CodeFlow?
Nutzt du eben dieses Identity.Web Dings, das ganz neue, dass in Abts neustem Link mit Beispielen auch genutzt wird?

Klar komme ich da keinen Meter weiter.

@Abt
Dir war schon bewusst, dass es hier um ASP.NET MVC (NICHT Core) geht?
Ich frage mich jetzt einfach mal, ob das überhaupt geht.... hast du - oder hat jemand ein Beispiel dafür? Muss es doch geben. Kann man sich doch nicht aus den Fingern saugen.

22.09.2020 - 12:43 Uhr

Hi Abt

Im Code ein paar Beiträge weiter oben ist - wie beschrieben - bei:


string signedInUserID = context.AuthenticationTicket

...AuthenticationTicket null.

Was ist denn das für eine Url, die du mir geschrieben hast?
Das verwirrrt mich mehr, als das es mir hilft, um ehrlich zu sein.
Auch deine gezeigten Beispiele sind für ASP.NET Core und die genutzte Bibliothek scheint nur für ASP.NET Core zu sein?

Ich habe bei Azure gesehen, dass man eine Testapplikation generieren lassen kann.
Wäre ja alles schön un gut, nur geht das nur mit IMPCIT GRANT. Da frage ich mich schon, ob das CodeFlow überhaupt geht und warum es dafür keine Beispiele gibt? Ist nicht Microsoft typisch. Weisst du da mehr?

Siehe Bild.

21.09.2020 - 14:17 Uhr

Hallo Papst, Abt

Wenn ich auf .Code setze, springt er in die Authorisierungsmethode rein; Er kommt schon weiter und fragt nach Berechtigung des Profiles. Es ist dann aber context.AuthenticationTicket null.

21.09.2020 - 13:43 Uhr

Du kannst auch alles erst mal mit Hilfe von Postman versuchen hin zu bekommen, damit Du Dir sicher sein kannst, dass das AAD richtig konfiguriert ist - und Du gegen die richtigen Endpunkte arbeitest.

Keinen Plan was genau du damit meinst. Ich muss wohl nicht händisch Requests prüfen?
Code brauche ich ja nicht mehr als in etwa dem bestehenden Umfang. Schon verwirrend, diese Sache.

Aktuelle Azure Samples sind zB hier, falls es Dir weiter hilft:

>

Woher hast du diese Url? Scheint für ASP.NET Core zu sein; sollte ja trotzdem anwendbar sein. Nur ist es wieder mal mit IMPLICIT GRANT. Das hatte ich ja schon am laufen, möchte ich aber nicht.
Die Beispiele bringen mich nicht weiter. Ich verstehe immer nur weniger.

Mal schauen, ob ich mit dem Tipp vom Papst 😉 weiterkomme...

08.09.2020 - 13:27 Uhr

Hallo Abt

Ja schon gehört. Ist mir aber alles nicht wirklich hilfreich, um ehrlich zu sein.
Folgend ist mein aktueller Code der Startup.cs. Ich habe ihn dem Projekt Template von VS angepasst. So wie ich das verstehe, soll das jetzt Code Auth Flow sein.

Es kommt aber immer noch die genau gleiche Meldung, dass er id_token, etc... für implicit aktiviert haben will.
Und in "AuthorizationCodeReceived" springt er auch nicht.
Wieso ist denn das so?

Der Fehler der immer noch kommt, ist: https://login.microsoftonline.com/error?code=700054


        public void Configuration(IAppBuilder app)
        {
            string clientId = WebConfigurationManager.AppSettings["ClientId"];
            string authority = "https://login.microsoftonline.com/" + WebConfigurationManager.AppSettings["Tenant"] + "/v2.0";
            string appKey = WebConfigurationManager.AppSettings["ClientSecret"];

            app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);

            app.UseCookieAuthentication(new CookieAuthenticationOptions());
            app.UseOpenIdConnectAuthentication(
                new OpenIdConnectAuthenticationOptions
                {
                    // Sets the ClientId, authority, RedirectUri as obtained from web.config
                    ClientId = clientId,
                    Authority = authority,
                    RedirectUri = WebConfigurationManager.AppSettings["RedirectUri"],
                    // PostLogoutRedirectUri is the page that users will be redirected to after sign-out. In this case, it is using the home page
                    PostLogoutRedirectUri = WebConfigurationManager.AppSettings["RedirectUri"],
                    //Scope = OpenIdConnectScope.OpenIdProfile,
                    // ResponseType is set to request the id_token - which contains basic information about the signed-in user
                    //ResponseType = OpenIdConnectResponseType.IdToken,
                    // ValidateIssuer set to false to allow personal and work accounts from any organization to sign in to your application
                    // To only allow users from a single organizations, set ValidateIssuer to true and 'tenant' setting in web.config to the tenant name
                    // To allow users from only a list of specific organizations, set ValidateIssuer to true and use ValidIssuers parameter
                    TokenValidationParameters = new TokenValidationParameters()
                    {
                        ValidateIssuer = false // Simplification (see note below)
                    },
                    // OpenIdConnectAuthenticationNotifications configures OWIN to send notification of failed authentications to OnAuthenticationFailed method
                    Notifications = new OpenIdConnectAuthenticationNotifications
                    {
                        AuthenticationFailed = OnAuthenticationFailed,
                        // If there is a code in the OpenID Connect response, redeem it for an access token and refresh token, and store those away.
                        AuthorizationCodeReceived = (context) =>
                        {
                            var code = context.Code;
                            ClientCredential credential = new ClientCredential(clientId, appKey);
                            string signedInUserID = context.AuthenticationTicket.Identity.FindFirst(ClaimTypes.NameIdentifier).Value;
                            AuthenticationContext authContext = new AuthenticationContext(authority, null);
                            AuthenticationResult result = authContext.AcquireTokenByAuthorizationCodeAsync(
                                code, new Uri(HttpContext.Current.Request.Url.GetLeftPart(UriPartial.Path)), credential, graphResourceId).Result;

                            return Task.FromResult(0);
                        }
                    }
                }
            );
        }

        private Task OnAuthenticationFailed(AuthenticationFailedNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> arg)
        {
            throw new NotImplementedException();
        }

Grüsse

03.09.2020 - 12:53 Uhr

Hallo JimStark

Das Entiyframework ist mit SQLite extrem eingeschränkt, sobald du das Schema ändern möchtest, ist vorbei. Du kannst nur Felder hinzufügen, aber nichts ändern.
Daher SQLServer - auch wegen der Performance wenns grösser wird.

Grüsse

03.09.2020 - 12:50 Uhr

Hi Abt

Das ist doch mal ein Wort. Dann richte ich mich an Authorization Flow, dankeschön! 😃

Grüsse

03.09.2020 - 10:54 Uhr

Ich glaube witte meint damit, dass es nicht mehr reine Polymorphie ist.

03.09.2020 - 10:22 Uhr

Hallo CombatKarl

dynamic oder Dictionary<string, object>. Ist aber meistens ein Zeichen, dass da was falsch angegangen wird. Nummeriert Variabeln, wieso? Nutze Arrays oder Listen.

Grüsse

03.09.2020 - 10:06 Uhr

Hallo Abt

So, jetzt bin ich einen Schritt weiter. Die API greift.
Darf ich ohne Probleme den implicitFlow verwenden, wo man die id_token in Azure aktivieren muss?

Siehe:

Scheint ja für Webanwendungen zu sein, oder Mobileanwendungen. Aber da es ja eine externe Auth / Author ist, müsste das passen, oder?

Doch nicht:

If you are developing a Web application that includes a backend, and consuming an API from its backend code, the implicit flow is also not a good fit. Other grants give you far more power. For example, the OAuth2 client credentials grant provides the ability to obtain tokens that reflect the permissions assigned to the application itself, as opposed to user delegations. This means the client has the ability to maintain programmatic access to resources even when a user is not actively engaged in a session, and so on. Not only that, but such grants give higher security guarantees. For instance, access tokens never transit through the user browser, they don't risk being saved in the browser history, and so on. The client application can also perform strong authentication when requesting a token.

=> https://docs.microsoft.com/en-gb/azure/active-directory/azuread-dev/v1-oauth2-client-creds-grant-flow

Oh jesses 😁

Grüsse

03.09.2020 - 09:50 Uhr

Hi Abt

Alle Callback-URLs (auch Redirect) müssen korrekt (auch mit zusätzlichem Slash) konfiguriert werden.

Sorry, das habe ich wohl übersehen. Ich schaue mal, ob der zusätzliche Slash da ist! 😃

Danke und Grüsse

03.09.2020 - 09:47 Uhr

Hi Abt

Danke für deine Ausführungen!

Callbacks sind Post, Redirect nicht.
Trotzdem muss in der App Registration auch der Redirect korrekt hinterlegt sein.

In
>
ist der Redirect laut Web.config einfach auf die Root-Url.

Die Callback-Implementierung ist Teil der Middleware und muss nicht selbst implementiert werden.

Ja mir ist dieser Unterschied schon geläufig, nur heisst es in der Doku "RedirectUri" und auch die Beschreibung hört sich überhaupt nicht nach einem Callback an. Die RedirectUri ist 1:1 eingestellt in Azure. Auch die Root Url. Ich nehme an da funkt sonst noch was dazwischen, sodass es die Route nicht findet 😦.

Danke für den Tipp, dass Callback direkt an die interne API geht. Ich sondere mal aus.

Grüsse

03.09.2020 - 09:12 Uhr

Hallo Abt

Ah, Post Redirect haha. Ganz was neues.
Ich habe nirgendwo was von einer Post-CallBack Url gelesen bezüglich Identity. Wo finde ich denn diese Infos? Scheinbar bin blind.

Identity ist der Nachfolger von Membership. Und Owin ist für die Authentifizierung Server/Client.

Aber da gibt es scheinbar Token based (für Apps) und nicht Token based?
So richtig schön übersichtlich ist das also überhaupt nicht.

Im Beispiel finde ich keine Route, die für einen "Post Redirect" genutzt wird.

Grüsse

02.09.2020 - 15:26 Uhr

Hallo Abt

Habe jetzt Owin (Identity) eingebaut nach der Anleitung, die securityGroups weitergeleitet und alles konfiguriert. Kann jetzt bei Microsoft auf meinen Benutzer klicken, aber nachher will er zurück auf meine Seite und bringt einen 404.

Folgendes ist die RedirectUri die überall drinsteht:

<add key="RedirectUri" value="https://localhost/dashboard"/>

Hier die Login Actionmethode:


        [HttpGet]
        public ActionResult Login(string ReturnUrl = "")
        {
            if (!Request.IsAuthenticated)
            {
                HttpContext.GetOwinContext().Authentication.Challenge(
                    new AuthenticationProperties { RedirectUri = "https://localhost/dashboard" },
                    OpenIdConnectAuthenticationDefaults.AuthenticationType);
            }

Und er bringt einen 404. Wenn ich auf F5 klicke, will er noch einmal einen POST absetzen. Ich frage mich gerade, wo das Problem liegt? Bei localhost?

Fehlermeldung:
Angeforderter URL: /dashboard

Danke und Grüsse
Peter

31.08.2020 - 10:30 Uhr

Hi Abt

Danke für die Info!

Grüsse

31.08.2020 - 10:17 Uhr

Hi Jim

Hier noch ein wenig Grundlagenwissen dazu:

@Abt
Der Tipp bezüglich des Materialisierens einer Menge ist wichtig 😃

Grüsse

25.08.2020 - 16:29 Uhr

Danke Abt. Als "accepted" kam, kam das Mail an. Es wird nur von einem Hintergrundprozess nicht mehr geschickt, da der Hintergrundprozess ein falsches Ergebnis liefert. Also ein anderes, als ich erwarte.

Das ist ein if 😃

Also alles gut. Die Domain musste ich nie validieren für SendGrid. Muss man das?

Grüsse

24.08.2020 - 13:55 Uhr

Hi Abt

Jetzt stand "accepted" drin und es hat geklappt, mit meinem Code.
Komische Sache. Ich prüfe mal, ob es einen anderen Grund gibt zufälligerweise, dass die Emails nicht abgeschickt werden 😃

Danke und Grüsse
Peter