授予管理员同意-未考虑授予的同意

时间:2020-06-09 11:30:10

标签: azure-active-directory microsoft-graph-api azure-ad-graph-api msal msal.js

我有一个使用MSAL.js 1.3.0的JavaScript应用程序。登录屏幕提示我,并且我能够登录。但是无论我如何在Azure门户中配置应用程序,登录后总会收到以下消息:

enter image description here

因此,我授予了应用程序管理员同意:(几周前对于委派权限不是必需的。此外,下面的页面根本不显示“需要管理员同意”)

enter image description here

但是,行为仍然没有改变。我无法通过“需要管理员批准”消息。

我的编码在这里:

val intent = Intent(Intent.ACTION_MAIN)
            .addCategory(Intent.CATEGORY_HOME).setClassName("com.example.AnotherPhoneTabletModule","com.example.AnotherPhoneTabletModule.MainActivity")
            .setComponent(ComponentName("com.example.AnotherPhoneTabletModule", "com.example.AnotherPhoneTabletModule.MainActivity"))

        startActivity(intent)

这是我的应用程序清单:

    ....
        state.doc
            .on( 'mousemove', dragging )
            .on( 'mouseup', endDrag );

    }

    /**
     * @desc Start dragging
     * @param e event obj.
     */
    function dragging( e )
    {
        ...

        console.log('dragging end');
    }


    function endDrag( e )
    {
        var cEl = state.cEl,
            hintNode = $( '#sortableListsHint', state.rootEl.el ),
            hintStyle = hint[0].style,
            targetEl = null, // hintNode/placeholderNode
            isHintTarget = false, // if cEl will be placed to the hintNode
            hintWrapperNode = $( '#sortableListsHintWrapper' );

        if ( hintStyle.display == 'block' && hintNode.length && state.isAllowed )
        {
            targetEl = hintNode;
            isHintTarget = true;
        }
        else
        {
            targetEl = state.placeholderNode;
            isHintTarget = false;
        }

        offset = targetEl.offset();

        cEl.el.animate( { left: offset.left - state.cEl.mL, top: offset.top - state.cEl.mT }, 250,
            function()  // complete callback
            {
                tidyCurrEl( cEl );

                targetEl.after( cEl.el[0] );
                targetEl[0].style.display = 'none';
                hintStyle.display = 'none';
                // This has to be document node, not hint as a part of documentFragment.
                hintNode.remove();

                hintWrapperNode
                    .removeAttr( 'id' )
                    .removeClass( setting.hintWrapperClass );

                if ( hintWrapperNode.length )
                {
                    hintWrapperNode.prev( 'div' ).append( opener.clone( true ) );
                }

                var placeholderNode = state.placeholderNode;
                // Directly removed placeholder looks bad. It jumps up if the hint is below.
                if ( isHintTarget )
                {
                    placeholderNode.slideUp( 150, function()
                    {
                        var placeholderParent = placeholderNode.parent();
                        var placeholderParentLi = ( ! placeholderParent.is( state.rootEl.el ) ) ? placeholderParent.closest( 'li' ) : null;

                        placeholderNode.remove();
                        tidyEmptyLists();

                        setting.onChange( cEl.el );
                        setting.complete( cEl.el ); // Have to be here cause is necessary to remove placeholder before complete call.
                        state.isDragged = false;

                        if( setting.maxLevels !== false )  // Has to be after placeholder remove.
                        {
                            recountLevels( cEl.el );
                            if( placeholderParentLi ) recountLevels( placeholderParentLi );
                        }
                    });
                }
                else
                {
                    state.placeholderNode.remove();
                    tidyEmptyLists();
                    setting.complete( cEl.el );
                    state.isDragged = false;
                }

            } );

        scrollStop( state );

        state.doc
            .unbind( "mousemove", dragging )
            .unbind( "mouseup", endDrag );

    }

    ....

PS:我不是JavaScript开发人员,只是从一位同事那里获得了最近正在运行的应用程序,并想使用它。如果有任何遗漏,请告诉我。

干杯, 最高

1 个答案:

答案 0 :(得分:-1)

如果希望最终用户同意代表他们的应用访问公司数据,则需要使用管理员帐户登录Azure门户以启用此功能。

转到 Azure Active Directory -> 企业应用程序-> 用户设置,为“用户”选择可以同意应用代表他们访问公司数据”。

enter image description here

如果您希望最终用户可以请求访问需要管理员同意的应用程序,则可以configure the admin consent workflow