将端点公开为public

时间:2016-10-12 09:39:47

标签: coldfusion taffy

将端点公开为公共的好策略是什么。 我们的Taffy API在每个端点都有身份验证,但我们也希望在没有身份验证的情况下公开某些端点。 我的初始策略是在名为/ public的资源中创建另一个文件夹,它可以绕过身份验证。

我们有2种方式进行身份验证。 1.在请求中使用api密钥进行身份验证 2.基本身份验证

我们的onTaffyRequest

function onTaffyRequest(verb, cfc, requestArguments, mimeExt){
            local.status = "forbidden";
            local.invalidReturnData = representationOf( local.status ).withStatus(401);


            if(structKeyExists(arguments.requestArguments, "apiKey")){

            }


            /* CATCH NO BASIC auth*/            
            //if username is blank return false
            if (structAuth.username is ""){
                return local.invalidReturnData;
            }

            //check invalid password
            if(structAuth.password is ""){
                return local.invalidReturnData;
            }

    return true;
}

1 个答案:

答案 0 :(得分:3)

自Taffy version 2.1.0以来,onTaffyRequest可以接受更多论点:

puce_color

Version 3.0.0还将function onTaffyRequest(verb, cfc, requestArguments, mimeExt, headers, methodMetadata){ ... } 附加到此列表中)

为此目的添加了methodMetadata参数。在其中添加matchedURI之类的内容并进行检查。

<强> someResource.cfc:

allow_public="true"

<强>的Application.cfc:

component
extends="taffy.core.resource"
taffy:uri="/foo"
{
    function get() allow_public="true" {
        return rep({ echo: arguments });
    }
}