Git Product home page Git Product logo

Comments (11)

leastprivilege avatar leastprivilege commented on May 29, 2024

It is not as easy as that. We also need to make sure the reply URL is legit. But I will open this as a todo.

from identityserver3.wsfederation.

janih78 avatar janih78 commented on May 29, 2024

I posted a similar issue into IdentityServer3 repo, which was obviously a wrong place for WS-Federation issues so I'll continue discussion here.

Any idea when this feature will be published?

from identityserver3.wsfederation.

chrisptree avatar chrisptree commented on May 29, 2024

Did you begin to code the solution for this issue? If not, I think if you implement a property in RelyingParty defining a pattern that match de wreply parameter would be a good idea. This is how JASIG CAS implements the OAtuh2 serviceId string. And then after the signout, you just redirect to the wreply url if it matches the reply url pattern.

from identityserver3.wsfederation.

leastprivilege avatar leastprivilege commented on May 29, 2024

I haven't started on it - and i have no ETA

from identityserver3.wsfederation.

bureus avatar bureus commented on May 29, 2024

Hi, i would really love this to be supported.

Right now we are having a market based client in IdentityServer3 (IDS3), with some markets supporting login. we are using IDS3 to give us open id connect support together with a relaying party (ADFS 2.0). Right now I'm looking into adding a map to the app builder used by identity server like this...

private void ConfigureWsFedRedirectEndpoint(IAppBuilder appBuilder)
    {
        appBuilder.Map(new PathString("/wsfedredirect"), (application) => application.Run((ctx) =>
        {
            var uri = new Uri("CLIENTBASEURI", UriKind.Absolute);
            if (!string.IsNullOrEmpty(ctx.Request.Query.Get("market")))
            {
                uri = new Uri(uri, new Uri(string.Format("/{0}",ctx.Request.Query.Get("market")), UriKind.Relative));
            }
            ctx.Response.StatusCode = 301;
            ctx.Response.Headers.Set("Location", uri.ToString());
            return ctx.Response.WriteAsync("redirecting to client");
        }));
    }

And im using ADFS as an identity provider to IDS3 and setting the signoutwreply to "wsfedredirect and extracting the market using the notifications.

 private WsFederationAuthenticationNotifications GetAdfsAuthenticationNotifications()
    {
        var notifications = new WsFederationAuthenticationNotifications()
        {
            RedirectToIdentityProvider = notification =>
            {
            if (notification.ProtocolMessage.IsSignOutMessage)
                {
                    if (!string.IsNullOrEmpty(notification.ProtocolMessage.Wreply) &&
                        notification.ProtocolMessage.Wreply.Equals("WREPLY"))
                    {
                        notification.ProtocolMessage.Wreply += //EXTRACTING MARKET FROM COOKIE
                    }
                }
                return Task.FromResult(0);   
            }
        };
        return notifications;
    }

Not sure how stable this solution is... But we will do load test on it and its not final yet.

from identityserver3.wsfederation.

dcinzona avatar dcinzona commented on May 29, 2024

Any progress on this? We are looking to implement a similar feature.
Thanks

from identityserver3.wsfederation.

brockallen avatar brockallen commented on May 29, 2024

Anyone want to propose a PR for this? If not, we will close this.

from identityserver3.wsfederation.

chrisptree avatar chrisptree commented on May 29, 2024

I am sorry but I did not have time to implement something. It is OK to close it.

from identityserver3.wsfederation.

gnjack avatar gnjack commented on May 29, 2024

I could look at re-opening and finishing #44 - I believe all that needs changing is defining the list of valid reply URLs per relying party instead of a global list. This method does present some issues if the user logs out multiple times. We have been successfully using a fork with the above changes in production for 5 months.

If there is interest, I'll find some time to pick the PR up again.

from identityserver3.wsfederation.

janih78 avatar janih78 commented on May 29, 2024

Unfortunately I don't have time for this right now, but I would be very appreciate if someone has. This is something that we still need.

from identityserver3.wsfederation.

clairernovotny avatar clairernovotny commented on May 29, 2024

This seems to be covered by #60

from identityserver3.wsfederation.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.