Skip to content

[WIP] [CIAM Cred Mgmt] Release branch - #3011

Draft
antrix1989 wants to merge 2 commits into
devfrom
sedemche/ciam-cred-managment-release
Draft

[WIP] [CIAM Cred Mgmt] Release branch#3011
antrix1989 wants to merge 2 commits into
devfrom
sedemche/ciam-cred-managment-release

Conversation

@antrix1989

Copy link
Copy Markdown
Contributor

PR Checklist (must be completed before review)

  • All tests pass locally
  • PR size is <= 500 LOC per PR Size Check policy
  • PR is independently mergeable (no hidden dependencies)
  • Appropriate reviewers are assigned
  • PR reviewed by code owner (required if Copilot-generated)
  • SME or Senior IC assigned where required

PR Title Format

Required Format: [Keyword1] [Keyword2]: Description

  • Keyword1: major, minor, or patch (case-insensitive)
  • Keyword2: feature, bugfix, engg, or tests (case-insensitive)

Examples:

  • [MAJOR] [Feature]: new API
  • [minor] [bugfix]: fix crash
  • [PATCH] [tests]: add coverage

Proposed changes

Create the empty MSALNativeCredManagment framework target with MSAL SDK configured as a Swift Package Manager dependency.

Work item:
https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3654778

Type of change

  • Feature work
  • Bug fix
  • Documentation
  • Engineering change
  • Test
  • Logging/Telemetry

Risk

  • High – Errors could cause MAJOR regression of many scenarios. (Example: new large features or high level infrastructure changes)
  • Medium – Errors could cause regression of 1 or more scenarios. (Example: somewhat complex bug fixes, small new features)
  • Small – No issues are expected. (Example: Very small bug fixes, string changes, or configuration settings changes)

Additional information

PR Checklist (must be completed before review)

  • All tests pass locally
  • PR size is <= 500 LOC per PR Size Check policy
  • PR is independently mergeable (no hidden dependencies)
  • Appropriate reviewers are assigned
  • PR reviewed by code owner (required if Copilot-generated)
  • SME or Senior IC assigned where required

PR Title Format

Required Format: [Keyword1] [Keyword2]: Description

  • Keyword1: major, minor, or patch (case-insensitive)
  • Keyword2: feature, bugfix, engg, or tests (case-insensitive)

Examples:

  • [MAJOR] [Feature]: new API
  • [minor] [bugfix]: fix crash
  • [PATCH] [tests]: add coverage

Proposed changes

Describe what this PR is trying to do.

Type of change

  • Feature work
  • Bug fix
  • Documentation
  • Engineering change
  • Test
  • Logging/Telemetry

Risk

  • High – Errors could cause MAJOR regression of many scenarios. (Example: new large features or high level infrastructure changes)
  • Medium – Errors could cause regression of 1 or more scenarios. (Example: somewhat complex bug fixes, small new features)
  • Small – No issues are expected. (Example: Very small bug fixes, string changes, or configuration settings changes)

Additional information

## PR Checklist (must be completed before review)

- [ ] All tests pass locally
- [ ] PR size is <= 500 LOC per PR Size Check policy
- [ ] PR is independently mergeable (no hidden dependencies)
- [ ] Appropriate reviewers are assigned
- [ ] PR reviewed by code owner (required if Copilot-generated)
- [ ] SME or Senior IC assigned where required

## PR Title Format

**Required Format:** `[Keyword1] [Keyword2]: Description`

- **Keyword1:** `major`, `minor`, or `patch` (case-insensitive)
- **Keyword2:** `feature`, `bugfix`, `engg`, or `tests`
(case-insensitive)

**Examples:**
- `[MAJOR] [Feature]: new API`
- `[minor] [bugfix]: fix crash`
- `[PATCH] [tests]: add coverage`

## Proposed changes

Create the empty MSALNativeCredManagment framework target with MSAL SDK
configured as a Swift Package Manager dependency.

Work item:
https://identitydivision.visualstudio.com/Engineering/_workitems/edit/3654778

## Type of change

- [ ] Feature work
- [ ] Bug fix
- [ ] Documentation
- [ ] Engineering change
- [ ] Test
- [ ] Logging/Telemetry

## Risk

- [ ] High – Errors could cause MAJOR regression of many scenarios.
(Example: new large features or high level infrastructure changes)
- [ ] Medium – Errors could cause regression of 1 or more scenarios.
(Example: somewhat complex bug fixes, small new features)
- [ ] Small – No issues are expected. (Example: Very small bug fixes,
string changes, or configuration settings changes)

## Additional information
Copilot AI review requested due to automatic review settings June 9, 2026 20:01
@antrix1989
antrix1989 requested review from a team as code owners June 9, 2026 20:01
@@ -0,0 +1,3 @@
## [0.1.0]

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This pull request does not update CHANGELOG.md.

Please consider if this change would be noticeable to a partner or user and either update CHANGELOG.md or resolve this conversation.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces initial scaffolding for a new “MSAL Native Credential Management” Swift framework under lib/native/, intended to support CIAM / External ID credential-management scenarios and to be consumable via Swift Package Manager and an Xcode project.

Changes:

  • Adds a new SwiftPM package (lib/native/MSALNativeCredManagment/Package.swift) and initial source/test stubs.
  • Adds an Xcode project + shared scheme for the new framework target.
  • Adds initial docs artifacts (README, CHANGELOG, DocC stub) and a private module map for bridging IdentityCore headers.

Reviewed changes

Copilot reviewed 11 out of 12 changed files in this pull request and generated 11 comments.

Show a summary per file
File Description
lib/native/MSALNativeCredManagment/README.md Adds introductory documentation and setup guidance for the new framework.
lib/native/MSALNativeCredManagment/Package.swift Defines a new SwiftPM package and depends on the repo’s MSAL SwiftPM package.
lib/native/MSALNativeCredManagment/MSALNativeCredManagmentTests/MSALNativeCredManagmentTests.swift Adds an initial test asserting the SDK version constant.
lib/native/MSALNativeCredManagment/MSALNativeCredManagment/src/MSALNativeCredManagment.swift Adds the initial public Swift entry point and version constant.
lib/native/MSALNativeCredManagment/MSALNativeCredManagment/MSALNativeCredManagment.h Adds the umbrella header for the framework target.
lib/native/MSALNativeCredManagment/MSALNativeCredManagment/MSALNativeCredManagment.docc/MSALNativeCredManagment.md Adds a DocC landing page stub.
lib/native/MSALNativeCredManagment/MSALNativeCredManagment.xcodeproj/xcshareddata/xcschemes/MSALNativeCredManagment.xcscheme Adds a shared scheme for building/testing the new targets.
lib/native/MSALNativeCredManagment/MSALNativeCredManagment.xcodeproj/project.xcworkspace/contents.xcworkspacedata Adds workspace metadata for the new Xcode project.
lib/native/MSALNativeCredManagment/MSALNativeCredManagment.xcodeproj/project.pbxproj Adds the Xcode project defining the framework + test targets and MSAL package dependency.
lib/native/MSALNativeCredManagment/Info.plist Adds a framework Info.plist for versioning/metadata.
lib/native/MSALNativeCredManagment/CMSAL_Private/include/module.modulemap Adds a custom module map intended to expose IdentityCore headers to Swift.
lib/native/MSALNativeCredManagment/CHANGELOG.md Adds initial changelog entries for the new framework.
Files not reviewed (1)
  • lib/native/MSALNativeCredManagment/MSALNativeCredManagment.xcodeproj/project.xcworkspace/contents.xcworkspacedata: Language not supported

.target(
name: "MSALNativeCredManagment",
dependencies: [
.product(name: "MSAL", package: "microsoft-authentication-library-for-objc")
Comment on lines +54 to +59
swiftSettings: [
.unsafeFlags(
["-Xcc", "-fmodule-map-file=\(packageDir)/CMSAL_Private/include/module.modulemap"]
+ allHeaderDirs.flatMap { ["-Xcc", "-I\($0)"] }
)
]
Comment on lines +25 to +33
import Testing
@testable import MSALNativeCredManagment

struct MSALNativeCredManagmentTests
{
@Test func sdkVersionIsSet() async throws
{
#expect(MSALNativeCredManagmentSDK.version == "0.1.0")
}
Comment on lines +25 to +27
import Foundation
import MSAL
@_implementationOnly import MSAL_Private
Comment on lines +33 to +36
public enum MSALNativeCredManagmentSDK
{
/// The current version of the MSALNativeCredManagment SDK.
public static let version = "0.1.0"
Comment on lines +27 to +30
### As part of the MSAL workspace

Open `MSAL.xcworkspace` and include the `MSALNativeCredManagment` target.


## Contributing

This SDK is developed as part of the MSAL for iOS/macOS project. Please refer to the [main repository contribution guidelines](https://github.com/AzureAD/microsoft-authentication-library-for-objc/blob/dev/contributing.md).
Comment on lines +1 to +3
## [0.1.0]
* Initial implementation of MSAL Native Credential Management SDK.
* Add credential method support for CIAM scenarios.
Comment on lines +1 to +13
# ``MSALNativeCredManagment``

<!--@START_MENU_TOKEN@-->Summary<!--@END_MENU_TOKEN@-->

## Overview

<!--@START_MENU_TOKEN@-->Text<!--@END_MENU_TOKEN@-->

## Topics

### <!--@START_MENU_TOKEN@-->Group<!--@END_MENU_TOKEN@-->

- <!--@START_MENU_TOKEN@-->``Symbol``<!--@END_MENU_TOKEN@--> No newline at end of file
Comment on lines +4 to +14
module MSAL_Private {
header "../../../../../MSAL/IdentityCore/IdentityCore/src/MSIDBasicContext.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/logger/MSIDLogger.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/logger/MSIDLogger+Internal.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/logger/MSIDMaskedHashableLogParameter.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/logger/MSIDMaskedLogParameter.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/logger/MSIDMaskedUsernameLogParameter.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/MSIDError.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/oauth2/MSIDExternalSSOContext.h"
header "../../../../../MSAL/IdentityCore/IdentityCore/src/parameters/MSIDRequestParameters.h"
export *
@antrix1989
antrix1989 marked this pull request as draft July 14, 2026 02:04

/* Begin PBXFileSystemSynchronizedRootGroup section */
A1000030 /* MSALNativeCredManagment */ = {
isa = PBXFileSystemSynchronizedRootGroup;

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This project format and PBXFileSystemSynchronizedRootGroup require Xcode 16, while the README still supports Xcode 15+. Xcode 15 cannot open this project. Please use an Xcode 15-compatible format or update the documented minimum requirement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants