我们正在将Azure B2C与Universal Windows应用程序中的IdentityModel.OidcClient插件集成
IdentityModel.OidcClient为UWP应用程序编写了示例,它将打开WebView进行登录。
WebView使用WebAuthenticationBroker类编写。
我们能够将Azure B2C端点与IdentityModel插件集成,并使用WebAuthenticationBroker在webview中打开Azure B2C STS页面。
wabResult = await WebAuthenticationBroker.AuthenticateAsync(
WebAuthenticationOptions.None, new Uri(startURL), new Uri(options.EndUrl));
startURL指向Azure B2C,EndUrl指向回调URL(Azure B2C上的重定向URI)
当我们输入凭据Azure B2C时,将授权代码与state和id_token一起返回到redirecturi(回调URL)。但 WebAuthenticationBroker 无法识别重定向的网址。以下是Azure B2C返回的示例片段。
#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
单独片段的长度超过3K
当我们中断Azure B2C返回的片段并将中断的片段发送回callbackurl时, WebAuthenticationBroker 能够重新调整URL并关闭webview并发送数据包。
中断的片段如:
#state=nostate&code=nocode&id_token=noidtoken
现在片段长度不超过100个字符, WebAuthenticationBroker 可以轻松地重新调整URL和片段,当它到达callbackurl时也关闭webview。
任何人都可以为此提供解决方法。