【问题标题】:Azure B2C UWP: WebAuthenticationBroker Callback URL not firingAzure B2C UWP:WebAuthenticationBroker 回调 URL 未触发
【发布时间】:2016-12-07 12:43:05
【问题描述】:

我们正在将 Azure B2C 与通用 Windows 应用程序中的 IdentityModel.OidcClient 插件集成

IdentityModel.OidcClient 为 UWP 应用程序编写了示例,它将打开 WebView 进行登录。

WebView 已经使用 WebAuthenticationBroker 类编写。

我们能够将 Azure B2C 端点与 IdentityModel 插件集成,它使用 WebAuthenticationBroker 在 web 视图中打开 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 将授权代码连同状态和 id_token 返回到重定向URI(回调 URL)。但 WebAuthenticationBroker 无法识别重定向的 URL。下面是 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 返回的 Fragment 并将中断的 Fragment 发送回 callbackurl 时,WebAuthenticationBroker 能够重新识别 URL 并关闭 webview 并发送数据。

中断片段如:

#state=nostate&code=nocode&id_token=noidtoken

现在片段长度不超过 100 个字符,WebAuthenticationBroker 可以轻松识别 URL,片段在到达 callbackurl 时也会关闭 webview。

任何人都可以为此提供解决方法。

【问题讨论】:

    标签: uwp azure-ad-b2c


    【解决方案1】:

    您可以减少声明的数量,并且它应该可以在不更改代码的情况下工作

    MSDN - AAD B2C with UWP

    【讨论】:

      猜你喜欢
      • 2016-03-11
      • 1970-01-01
      • 1970-01-01
      • 2011-02-12
      • 2020-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多