Named Credentials — Code Comparison

DEX455 - Apex 集成与工具完全指南:Callouts、命名凭据、WSDL2Apex、Mock 测试

📄 第 361 页 🎬 视频课程

课程章节介绍

同学们,咱们这节课来聊聊命名凭据(Named Credential)最让人省心的一点——身份验证这块儿。 你想啊,平时要跟外部系统集成,绕不开的一件事就是认证。但要是没有命名凭据,哪怕只是最基本、最简单的用户名密码认证,你都得在Apex代码里自己去写逻辑:怎么传用户名密码、怎么拼Header,一堆繁琐的细节,代码马上变得臃肿又难维护。要是换成OAuth2.0这种更复杂的协议,那简直要写一大堆回调、刷新令牌的逻辑,既容易出错,又不好调试。 而一旦用上了命名凭据,情况就完全不同了。关键在于:不管后台实际用的是什么认证方式,你写的Apex代码都可以,一模一样,,完全不用动。为什么?因为所有跟身份验证相关的脏活累活,都转移到了“外部凭据”(External Credential)身上。这个外部凭据,会去引用咱们在Salesforce里已经定义好的身份验证提供者,比如Auth. Provider。换句话说,认证细节全在配置里,代码只负责说“我要调这个服务”,Salesforce平台自己就知道该怎么安全地去验证身份。 说得再直白一点:命名凭据这个东西,一头帮你指定好远程服务的端点URL,另一头呢,就关联上那个配置好认证方式的外部凭据。所以你Apex里只需要直接引用这个命名凭据,平台就会自动帮你搞定所有认证步骤。譬如你调用OAuth端点,不需要写一句OAuth的代码,就能自动获取令牌、自动刷新,是不是很优雅? 所以说,处理复杂的OAuth认证,正是命名凭据最理想的应用场景。记住这个结论:认证逻辑再变,代码岿然不动,轻松可靠全靠命名凭据。这一页Slide的核心,就是让大家体会到这种“分离关注点”的巨大好处。有什么疑问咱们可以随时交流。

关键词

Apex Salesforce Developer Guide