EasyAuthModule_32位xamarin中的错误401形成aad身份验证

时间:2016-06-01 15:40:09

标签: azure xamarin.forms azure-mobile-services azure-active-directory

请帮助我尝试为我正在开发的xamarin表单应用程序实现客户端身份验证。我已经遵循了每个教程,了解如何在使用azure移动服务时将Azure活动目录集成到xamarin中。在调用loginAsync时总是抛出错误。在使用天蓝色日志的进一步调查中,我发现错误来自easyauthmodule。请帮助,就像我说我已经按照这个问题的每一个教程,我已经在过去一周每天都在这上面了

请在下面找到我的代码

#if os(iOS) || os(tvOS)
import Foundation
#if !RX_NO_MODULE
    import RxSwift
    import RxCocoa
#endif
import UIKit

extension OneSlider {

    public var rx_distance: ControlProperty<Int> {
        return UIControl.valuePublic(
            self,
            getter: { slider in
                slider.distanceRank
            }, setter: { slider, value in
                slider.distanceRank = value
            }
        )
    }

}

extension UIControl {
    static func valuePublic<T, ControlType: UIControl>(control: ControlType, getter:  ControlType -> T, setter: (ControlType, T) -> ()) -> ControlProperty<T> {
        let values: Observable<T> = Observable.deferred { [weak control] in
            guard let existingSelf = control else {
                return Observable.empty()
            }

            return existingSelf.rx_controlEvent([.AllEditingEvents, .ValueChanged])
                .flatMap { _ in
                    return control.map { Observable.just(getter($0)) } ?? Observable.empty()
                }
                .startWith(getter(existingSelf))
        }
        return ControlProperty(values: values, valueSink: UIBindingObserver(UIElement: control) { control, value in
            setter(control, value)
            })
    }
}

#endif

1 个答案:

答案 0 :(得分:1)

EasyAuth与Azure移动服务不兼容。你确定你使用的是正确的服务名称吗?

确保您使用以下NuGet for Azure移动应用程序:https://www.nuget.org/packages/Microsoft.Azure.Mobile.Client/

EasyAuth仅适用于Azure App Service。您需要配置App Service身份验证/授权模块。假设您已经将ADAL集成到您的Xamarin应用程序并且拥有来自ADAL的访问令牌,那么您的代码非常接近。但是,我发现移动应用的AAD配置很复杂。所以我写了几篇关于它的博客文章。

以下是服务器流程版本:https://shellmonger.com/2016/04/04/30-days-of-zumo-v2-azure-mobile-apps-day-3-azure-ad-authentication/

以下是客户流程版:https://shellmonger.com/2016/04/06/30-days-of-zumo-v2-azure-mobile-apps-day-4-adal-integration/

两者都使用Cordova作为移动客户端,但服务的配置是相同的。客户详细信息(除了明显的语言差异)也是类似的。