Reputation: 5038
We are integrating Azure B2C with IdentityModel.OidcClient plugin in Universal Windows application
IdentityModel.OidcClient has written sample for UWP application where it will open WebView for login.
The WebView has written using WebAuthenticationBroker class.
We able to integrate Azure B2C endpoints with the IdentityModel plugin and it is opening Azure B2C STS page inside webview using WebAuthenticationBroker.
wabResult = await WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None, new Uri(startURL), new Uri(options.EndUrl));
startURL points to Azure B2C and EndUrl points to callback URL (Redirect URI at Azure B2C)
When we enter credentials Azure B2C returning Authorization code along with state and id_token to redirecturi(callback URL). But WebAuthenticationBroker not able to recognize the redirected URL. Below is the sample fragment Azure B2C returning.
#state=922d93b9c7935175dd17fee724b97cbe950feb28770b8d4c03e7cb18f92acf1f663d61139c8d063876f7206e4a67a826a092d69940ea20616c1336560ec3cd65&code=eyJraWQiOiJjcGltY29yZV8wOTI1MjAxNSIsInZlciI6IjEuMCJ9..UCwZR2rMfKUdD1tA.w_BzDy32MTa31vBEmOhvG-KB2UnY8qhIVRcDVXZFyULaqh7qMzk8G0ZeTnba6JEbJ7ww6jZ4uTl6trS6yPQKjP0ZxSQZZuKEDDy31jhQqFEaql___KTfPQymVbJyJSI6ctHeT823-Ziv4dz9I3NGcPmBgqu2yJxwTPOKTlPB_RCbaoj3oLrRqY26YKU4H61LpaMndsP95eIGmIrKClPGc8ntvrmijJymUpJiuUQRqYMkviC2gh2lVlereDWUUcfJG3QIlpAEyh2kIA7EAblcGZj55Yp0LDe4xpbDuW-oks1jhKnvE_eApjIlSstaOObKvQiKjBuds_qbQXCcY5hKktRxBklN3teF7LRhJdH0Yb22ks7PFA9JrB2gbsCJWk-PuUslep7eiX4WXFJ3MYn_t8j2djkUDeOzNw6vNgHxLTKSkClhLrFgONLKsZeh76W12D0YOXZ0Pxf8ceA7it2gxnW_1WqOUPtSaN2VSLDWejcJH2XJaalaLUGkHEe7iyp95BtYCSGe5HS-694nH1oqhJKIRDGOWg7eRKHVg92Mp1mcN0J2GL1Yocjk8LrYvT0ZKNZjQFZveA4bw3Ab4h71NWlN38_eaP0FLnuRG5Ed9zrDcuywf0BaxBVqJWFr1JX4KaM0clpbMDFUh44TjkD0nofRo2XKFQxRgjUBP2W3FYtSFL9EGKszws0wxgfW7KhrBiQJdFqZ7f7sBZDBFVDkhB__oilxamSAQZ3qtTdYlNRI44WQp33hNaHr55ju7DiJ_bu4VuuNDnGlityeV2ABXHHihS6e4mKoPUeBPEbZzhIHIphZ1zG--1_H7kjIIgJvVxdK6m3ll1BcuGSypg9UTR0ViKGZrG552UlE1OJYZK_dYJw9-vbs71eJ6Q3FDU-DFNCLKlai01UmOObO3VvFVvowV7pSFcdlBO1-MJNySzrHRLzE2sBOF3L-vaLwJufbkxSI_4KLNPHFvhxVICxe9QWz8mP6xiDvcpTp0ojNdwpuxDpGriO6F_oJw90HraOAQQGRbqxrLC7n8lh1rB22F99efEy3XebAZ3GY6Ass5ka-gdjT38ffX9ihJ9Ed2EBUxESWyn92MBZV70Ud2mcsqEEvw2NlXTNumUSWyDyo3WtVDJSBG0VZFWVfjhenQ0fODw_R1pENJ48bLJv8ky9VesMQC_IKfN3kip9THYAsrr5bp__LTLJoFOsMvEYkcSA0cRI9MyhDI6v_55e0wjqJAQlkiXs2CRhIvCpoUnNDG6fte7g8xV_rgtjkUvCMYJRVy0K75qYqWo817wT6X6m4m7ssMs0s9rvu_pCBuB2JkKzelUPTHpOAKRny-QZHoJN9e1S6EaZpdPXgeJh7-qv0k_6k3U6o4VHy1yQE2tHQsQOJgiPAX8peT4aXtB8ntRLD5GLkeKBbWvhMdqqzPPiTZ8iq9L3lMK2adwhnLc0ZJy_UbDW91ktpzLFbZZKWvhczoPg8vsuminJ3-DH7pqdN0dJrZfs_aPTWQ8jRyIDgEYPRH7zu78BN0wEjO9-kBE6suMxFl9R9JZ-_1TxiYSyfPyXCOqGXuSIkm3ubRGO6SzyvOYY8uwEUyV88SNypyS-K78p-270Y5SOIj9p1F0JTCMdqn7Z5oqX74tkGl8VDrx-G1s8QCmJCq6500pZIyXbXvQZIg7uU6dOtc1kEKKOxpFN0aA9Hu1EIq3d9cDREyxUqo-HxI_SDghmzDJG7xoi6eY53oQeYOS--PwL_VNQrKp6Vwu-_IKc4Soq9UTz8wjEuMAKgij_65Qo1hF_ENnGRrEqe0YfnKb82nTc0JnJNPX8PzLre6l7omIhRdKti17lbNLX35v24-MqVjBOfMeQbinAtvBWFamnmD_I-NNW7CQz6oClPdVSvT4ItVSeHg3YYqmhPvPI_MDt5vjkdDdoTEMaS8cQACO3g6iGGhZK_K9zrYV10ccoxbHOeuua6uSHQ_ZyUM2VP5uqbEhaNJXwlbgWJ5lKX6aS0QdikHOE9ha4YO7oWIPW5303skCQeFkufaGsVh3rIhcteS6qvH-GCWyelGh7AgpTZRmSkr54epnLXn62fwBpodXmDXVkbn8oRT6MhKqj4V8Dw9izdQM5PAwzRTLmt8cEfeySqo8IoUqOjDT8DE0HTtd8YVg.KscnUebV48D6-DkbvA95xQ&id_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6ImdmSUtJSC15WjNwaFJIUnlqbnNISXFaTWFlUExHQUVMelBhdDBDTlk0c0EifQ.eyJleHAiOjE0ODExMTAyMjMsIm5iZiI6MTQ4MTEwOTkyMywidmVyIjoiMS4wIiwiaXNzIjoiaHR0cHM6Ly9sb2dpbi5taWNyb3NvZnRvbmxpbmUuY29tL2I5NTQ1YzQ2LWFjNWItNDI0NS1iOTQ3LTYzNmJjZTUzODVlYS92Mi4wLyIsInN1YiI6Ik5vdCBzdXBwb3J0ZWQgY3VycmVudGx5LiBVc2Ugb2lkIGNsYWltLiIsImF1ZCI6IjJlYTEwY2NlLTU4ZjItNGIyNi04YjVhLTY1ZDc1NTUzYWFjMSIsIm5vbmNlIjoiYTQ5OGNmYjdjMTIyYzRmOTI2OTZmOGMxOTgyODlkNTg5OGFkZmQ2NjM0NDAwYzg4ZTc5NWRkMzVkOTc2MDZmYTYzYzdhZWFlYTU2NTRiMTdjYjhmOTQ0MTVhNTgxNTc5OTZlZmQxNDVlNjgzYmExZWI0ODVjNTRmZTMyOTUyZDYiLCJpYXQiOjE0ODExMDk5MjMsImF1dGhfdGltZSI6MTQ4MTEwOTkyMywib2lkIjoiNDg4YTZlMDQtNjhhYi00OGZkLWExMGItMDIzMWIwOGEwYWYxIiwibmFtZSI6IlJhbWFrcmlzaG5hIFNDaGFrcmEiLCJleHRlbnNpb25fRGVmYXVsdEZlZWRUYWIiOiJUZWNoIE5ld3MiLCJ0ZnAiOiJCMkNfMV9iMmNfMV9zaWduX2luX3NpZ25fdXAiLCJjX2hhc2giOiJQd1hQYUpvenVORGpqWkZuZVMtMlFRIn0.AfTaIf_ax2uBBp5vnJH6khMyhvSsoRBzdgyi80tabcMCqFTq-SxwnivuEFrn-08Y3jihEj49Vhp5PUKMKMJ0JDgWUA-CrndGIFRJoZlwV9QglwAy7QqEJpelxiYKHrhfbmCLHwun80saII_KHMZAyUSHfJLkxBiRPxuIcnOeN9NtQi1N1AiPwihBC-dfNQDHzxqvUqfJmnwBMjb8ct-7pyPpy28GfyTpkHLqm4X-qKhS3LM9W9eR6zw4hkZKcW0Lny9tgstAYh9pjbaG0VME-9nyfs-zT7Z1Refs5tR1AlKfTL-bPoihTQTSQh5Zz9y-TSGSL1Bm2wp9i5e3Aa0U9Q
The length of the fragment alone more than 3K
When we interrupt the Azure B2C returned fragment and sends the interrupted fragment back to callbackurl, WebAuthenticationBroker able to recorgnize the URL and closing the webview and sending databack.
Interrupted fragment like:
#state=nostate&code=nocode&id_token=noidtoken
Now fragment lenth not morethan 100 characters and WebAuthenticationBroker easily recorgnize the URL and fragment also closing webview when it reaches callbackurl.
Can anyone give workaround for this.
Upvotes: 0
Views: 241
Reputation: 973
You can reduce the number of claims and it should work with possibly no code change
Upvotes: 0